#include <bits/stdc++.h>
#define F(i,l,r) for(int i=l;i<=r;i++)
#define FF(i,r,l) for(int i=r;i>=l;i--)
#define mem(a,b) memset(a,b,sizeof(a) )
#define M 100010
//#define maxn
using namespace std;
//const int N
//const int mod
int n,m;
vector<int> G[M];
int col[M];
int ans1,ans2;
void dfs(int u,int c){
col[u]=c;
if(c==1)ans1++;
else{
ans2++;
}
F(i,0,G[u].size()-1){//!
int v=G[u][i];
if(!col[v])dfs(v,3-c);
}
return;
}
int maxd;
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n>>m;
F(i,1,m){
int x,y;
cin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
F(i,1,n){
ans1=0,ans2=0;
if(!col[i]){
dfs(i,1);
maxd+=max(ans1,ans2);
}
}
cout<<n-maxd<<' ';
cout<<maxd<<'\n';
return 0;
}
不是输出格式的问题,因为改了还是RE
不是关了输入流的原因,因为改了还是RE
不是数组开小的原因,因为扩大十倍还是RE
不是题目的问题,因为我同学都AC了
不是算法的问题,因为标签是这么写的,板子也没打错
不是我的问题,因为不可能
在精神内耗的过程中,我终于找到了问题
第36行 将G[u].size()-1拎出去用变量装一下就AC了
那么问题来了
Dev 没有问题
洛谷的IDE 没有问题(因为亲测)
原错误改为auto写法也没有问题
#define F 没有问题
直观感觉是评测机的问题。。(但不太可能)
所以为什么会有问题?(求助)