社区讨论

86分求调,报错信息诡异,悬关

P5782[POI 2001] 和平委员会参与者 3已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@lo6xnmlr
此快照首次捕获于
2023/10/26 16:39
2 年前
此快照最后确认于
2023/10/26 16:54
2 年前
查看原帖
报错信息:Wrong Answer.wrong output format Unexpected end of file - int32 expected
CPP
#include <bits/stdc++.h>
using namespace std ;
#define int long long
#define rep(i,x,y) for(int i=x;i<=y;i++)
#define rep1(i,x,y) for(int i=x;i>=y;i--)
#define fire signed
#define kong putchar(' ')
#define in(x) scanf("%lld",&x)
#define lcm(x,y) x*y/__gcd(x,y)
#define il inline
il void print(int x) {
	if(x>=10) print(x/10);
	putchar(x%10+'0');
}
int n,m;
const int N=1e6+10;
vector<int>v[N];
int ling[N];
int co[N];
#define pb push_back
stack<int>s;
set<int>st;
bool dfs(int x) {
	if(co[ling[x]]) return 0;
	if(co[x]) return 1; 
	co[x]=1;
	s.push(x);
	for(auto to:v[x]) {
		if(!dfs(to)) return false;
	}
	return 1;
}
fire main() {
	cin>>n>>m;
	rep(i,1,n) ling[i*2]=i*2-1,ling[2*i-1]=2*i;
	rep(i,1,m) {
		int a,b;
		in(a),in(b);
		v[a].pb(ling[b]);
		v[b].pb(ling[a]);
	}
	rep(i,1,n) {
		if(co[i*2]||co[i*2-1]) continue;
		if(!dfs(i*2-1)) {
			while(!s.empty()) co[s.top()]=0,s.pop();
			if(!dfs(i*2)) {
				cout<<"NIE\n";
				return false;
			}
		} 
	}
	while(s.size()){
		st.insert(s.top());
		s.pop(); 
	}
	int len=st.size(),now=0;
	for(int x:st) {
		print(x);
		if(++now!=len) cout<<endl;
	}
	return false;
}

回复

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

正在加载回复...