社区讨论

警钟敲烂

灌水区参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo0uefd4
此快照首次捕获于
2023/10/22 10:21
2 年前
此快照最后确认于
2023/11/02 12:02
2 年前
查看原帖
考前我不知道怎么想的,就有种预感,发帖问了一句有哪些变量名不合法但是编译器不报错的。here
结果,今年:
CPP
/*我的CSP-S T1 代码
Luogu UID:363061
ID:sqh_let_it_be
RP++
score++
*/
#include<bits/stdc++.h>
using namespace std;
int lock[9][10],cf[9][10],n;
int mm[25],zj[11][11][11][11][11],ans;
map<int,int> da;
inline int read()
{
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){s=s*10+ch-48;ch=getchar();}
	return s*w;
}
int main()
{
	freopen("lock.in","r",stdin);
	freopen("lock.out","w",stdout); 
	n=read();
	for(int i=1;i<=n;i++)
		for(int j=1;j<=5;j++)
			lock[i][j]=read();
	for(int i=1;i<=n;i++)
	{
		int tem1=lock[i][1];
		int tem2=lock[i][2];
		int tem3=lock[i][3];
		int tem4=lock[i][4];
		int tem5=lock[i][5];
		for(int k=1;k<=9;k++)
		{
			// 单个转 
			zj[(tem1+k)%10][tem2][tem3][tem4][tem5]++;
			zj[tem1][(tem2+k)%10][tem3][tem4][tem5]++;
			zj[tem1][tem2][(tem3+k)%10][tem4][tem5]++;
			zj[tem1][tem2][tem3][(tem4+k)%10][tem5]++;
			zj[tem1][tem2][tem3][tem4][(tem5+k)%10]++;
			//相邻转
			zj[(tem1+k)%10][(tem2+k)%10][tem3][tem4][tem5]++;
			zj[tem1][(tem2+k)%10][(tem3+k)%10][tem4][tem5]++;
			zj[tem1][tem2][(tem3+k)%10][(tem4+k)%10][tem5]++;
			zj[tem1][tem2][tem3][(tem4+k)%10][(tem5+k)%10]++;
		}
	}
	for(int a=0;a<=9;a++)
		for(int b=0;b<=9;b++)
			for(int c=0;c<=9;c++)
				for(int d=0;d<=9;d++)
					for(int e=0;e<=9;e++)
						if(zj[a][b][c][d][e]==n)
							ans++; 
	printf("%d\n",ans);
	fclose(stdin);
	fclose(stdout);
	return 0;
}
乍看没问题,本地 Windows 运行也没问题。
提交 CE 。
为什么呢?
因为我使用了 lock 作为变量名,而 lock 与 y1 类似,不能用作变量名。
如果我把 lock 换成其他的呢,比如我换成 sqh,换成 luogu?
AC。
于是,140->40。
破防了。
我以后再拿英译做变量名我就是**

回复

2 条回复,欢迎继续交流。

正在加载回复...