首页 > 编程语言 >#define int long long 必须写在#include<bits/stdc++.h>的下方

#define int long long 必须写在#include<bits/stdc++.h>的下方

时间:2025-01-06 22:54:48浏览次数:1  
标签:25 int long 作用域 include define

#include<bits/stdc++.h>
using namespace std;

int d2[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};
int x,y,k,l;
int vis[25][25];
int a[25][25];
bool check(int m,int n)
{
	if(m<0||n<0||m>x+1||n>y+1)
		return false;
	return true;
}
#define int long long     //错误写法,应该放到前面
signed main()
{
	cin>>x>>y>>k>>l;
	vis[k+1][l+1]=1;
	for(int i=0;i<8;i++)
	{
		if(check(k+d2[i][0]+1,l+d2[i][1]+1))
			vis[k+d2[i][0]+1][l+d2[i][1]+1]=1;
	}
	a[1][1]=1;
	for(int i=1;i<=x+1;i++)
	{
		for(int j=1;j<=y+1;j++)
		{
			if(i==1&&j==1)
				continue;
			if(vis[i][j])
				a[i][j]=0;
			else
            {
				a[i][j]+=a[i-1][j];
				a[i][j]+=a[i][j-1];
			}
		}
	}
	cout<<a[x+1][y+1];
 } 

作用域混乱:宏定义没有常规变量的作用域规则,它从定义处开始文本替换式生效,贯穿后续整个代码文件,这会导致难以把控替换的范围,可能在一些局部代码块内,不经意间就改变了类型语义,破坏原有代码逻辑。
脑子抽了,发现题目可能会爆int,居然将它写在这么后面去了。

标签:25,int,long,作用域,include,define
From: https://www.cnblogs.com/jinshuli/p/18656463

相关文章

  • Leetcode 3414. Maximum Score of Non-overlapping Intervals
    Leetcode3414.MaximumScoreofNon-overlappingIntervals1.解题思路2.代码实现题目链接:3414.MaximumScoreofNon-overlappingIntervals1.解题思路这一题算是一个比较常规的动态规划的题目吧。首先,我们将所有的区间进行排序,然后考察每一个区间是否选择的情......
  • 【PostgreSQL数据库-Tried to send an out-of-range integer as a 2-byte value: 5356
    业务侧反馈,因为某业务积攒的单量太大,导致在数据批量入库的时候,产生如下报错,主要报错信息是:请求参数的整体大小不能超过2byte。Triedtosendanout-of-rangeintegerasa2-bytevalue:53568这个报错初步看起来,有个“out-of-rangeinteger”,可能大家第一个想到的可能......
  • 第四章、连上 Internet
    4.1Linux连上Internet前的注意事项由前面几章的数据我们知道,想要连上Internet你得要设定一组合法的IP参数才可以,主要是IP,Netmask,Gateway,DNSIP以及主机名等。那我们也知道,其实整个主机最重要的设定,就是『先要驱动网络卡』,否则主机连网络卡都捉不到时,怎么设......
  • .cip 文件属于 CIPolicies(即“Configuration Integrity Policies”)的一部分,通常出现在
    在你的文件目录中,出现的.cip文件通常与Windows启动管理器和EFI系统分区(ESP,EFISystemPartition)相关。这些.cip文件一般用于管理EFI启动配置或安全策略。解释 .cip 文件的作用:.cip文件属于CIPolicies(即“ConfigurationIntegrityPolicies”)的一部分,通常出现在E......
  • 欧洲位置传感器 (Sensor) + 以太联Intellinet PoE智能解决方案助力数字转型
    在快速变化的市场中,精准定位与高效网络管理成为各行各业提升竞争力的关键因素。无论是医疗中心还是物流仓储,透过欧洲sensor制造商与以太联—Intellinet网络解决方案的整合,企业能实现资产追踪自动化、提升运营效率,并降低碳排放。以太联-Intellinet的self-HealingNetwork技术与......
  • CAD中的四个关系,HardOwner,SoftOwner,HardPointer,SoftPointer
    起因:在学习在CAD中附加自定义的数据的时候,发现的一个知识点。在组码表中,330,340,350,360四个键分别对应四种关系。如下图:在DataCell里也有类似的操作:总结起来,就是在CAD中,我们可以人为地给两个DBObject建立某种关系,即:软指针,硬指针,软所有者,硬所有者。 后......
  • 可解释性人工智能(Explainable Artificial Intelligence )综述学习笔记(4)-思维导图
    ExplainableArtificialIntelligence(XAI):Concepts,taxonomies,opportunitiesandchallengestowardresponsibleAI可解释性人工智能(ExplainableArtificialIntelligence,XAI):概念,分类,机遇和挑战,迈向负责任的人工智能可解释性人工智能ExplainableArtificialIntel......
  • 可解释性人工智能(Explainable Artificial Intelligence )综述学习笔记(3)
    ExplainableArtificialIntelligence(XAI):Concepts,taxonomies,opportunitiesandchallengestowardresponsibleAI可解释性人工智能(ExplainableArtificialIntelligence,XAI):概念,分类,机遇和挑战,迈向负责任的人工智能原文地址:ExplainableArtificialIntelligence(......
  • win32汇编环境,理解BeginPaint函数与GetDC函数的区别
    ;这个很重要,运行效果;win32汇编环境,理解BeginPaint函数与GetDC函数的区别;BeginPaint函数用在WM_PAINT消息里面,用来得到显示设备上下文,即整个程序窗口的区域。;当最大化时、或被其它窗口挡住后再恢复时、或移动窗口时,系统根据这个BeginPaint函数保存下来的值,把那些挡住的区......
  • 集成CommitLInt+ESLint+Prettier+StyleLint+LintStaged
    ==代码可读性低代码====代码规范落地难====代码格式难统一====代码质量低下==配置ESLintESLint是一个用来识别ECMAScript并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。它拥有以下功能:查出JavaScript代码语法问题。根据配置......