社区讨论

玄学60pts

P10378[GESP202403 七级] 交流问题参与者 1已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@mlhyk1tz
此快照首次捕获于
2026/02/11 19:40
4 周前
此快照最后确认于
2026/02/11 20:40
4 周前
查看原帖
rt,把11行改成C[s] = 0就全WA了
CPP
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5;
vector<int> Next[N];
int n , m , minn , maxn;
bitset<N> vis , C;//0蓝1红 
queue<int> Q; 
void bfs(const int &s){
	vis[s] = 1;
	Q.push(1);
	C[s] = 1;
	int blue = 1, red = 0;
	while(!Q.empty()){
		int t = Q.front();
		for(auto i : Next[t]){
			if(vis[i] == 0){
				vis[i] = 1;
				Q.push(i);
				if(C[t] == 0){
					red ++;
					C[i] = 1;
				}else{
					blue ++;
					C[i] = 0;
				}
			}
		}
		Q.pop();
	}
	minn += min(red , blue);
	maxn += max(red , blue);
}
signed main(){
	cin >> n >> m;
	for(int i = 1;i <= m;i ++){
		int x , y;
		cin >> x >> y;
		Next[x].push_back(y);
		Next[y].push_back(x);
	}
	for(int i = 1;i <= n;i ++){
		if(vis[i] == 0){
			bfs(i);
		}
	}
//	for(int i = 1;i <= n;i ++){
//		cout << C[i] << ' ';
//	}
	cout << minn << ' ' << maxn;
	return 0;
}

回复

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

正在加载回复...