社区讨论

编译失败

学术版参与者 5已保存回复 7

讨论操作

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

当前回复
7 条
当前快照
1 份
快照标识符
@lo1qlh93
此快照首次捕获于
2023/10/23 01:22
2 年前
此快照最后确认于
2023/11/03 02:01
2 年前
查看原帖
谁能告诉我以下代码为什么提交到P1202上编译失败
CPP
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<map>
using namespace std;
const double pi = 3.1415926535897932385;
typedef long long ll;
typedef pair<int,int> Pr;
const int dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1}, eps=1e3+10, maxn=1e6+10;
template <typename T> inline void read(T &x) {
	x = 0;
	bool flag = false;
	char ch = getchar();
	while (ch < '0' || ch > '9') flag = ch == '-' ? true : false, ch = getchar();
	while (ch >= '0' && ch <= '9') x = (x << 3) + (x << 1) + (ch & 15), ch = getchar();
	if(flag) x = -x;
}
template <typename T> inline void write(T x) {
	if(x<0) {
		putchar('-');
		x = -x;
	}
	if(x>9) write(x / 10);
	putchar(x % 10 + '0');
}
ll n;
ll n1 = 1900, y = 1, r = 1, xq = 1;
ll ys[2][31] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
ll yn;
ll shuliang[9];
bool yun(ll nn){
	if(nn % 4 == 0 && nn % 100 != 0) return 1;
	else if(nn % 400 == 0) return 1;
	return 0;
}
int main() {
    read(n);
    while(1){
    	if(n1 == (1900+n) && y == 1 && r == 1) break;
    	if(yun(n1)) yn = 1;
    	else yn = 0;
    	r++;
    	xq++;
    	if(r > ys[yn][y]) r = 1, y++;
        if(y > 12) n1++, y = 1;
        if(xq > 7) xq = 1;
        if(r == 13) shuliang[xq]++;
	}
	printf("%lld %lld %lld %lld %lld %lld %lld\n", shuliang[6], shuliang[7], shuliang[1], shuliang[2], shuliang[3], shuliang[4], shuliang[5]);
	return 0;
}

回复

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

正在加载回复...