您的位置:首页 > 其它

bzoj 2530: [Poi2011]Party

2017-08-10 19:40 405 查看
题目链接

bzoj玄妙的评测机



究竟是什么道理...交一发TLE后怎么也找不到原因...然后删掉了一个不起眼的东西后A了,我感觉不太对啊...就又交了一边最开始的代码

?????

总之A掉了就好

虽然这个题解有很多人写了,但是我还是要来蹭访问量

既然你来了那咱们俩就是有缘

我还是说一说做法吧

每次把没有连边的两点删掉

可以看出至多删掉2N/3个点

最后输出没被删掉其中的1/3

代码:

#include<iostream>
#include<cstdio>

#define ll long long

using namespace std;

int n,m;
bool a[3030][3030];
bool f[3030];

int main(){
scanf("%d%d",&n,&m);
for(int i=0; i<m; i++){
int x,y;
scanf("%d%d",&x,&y);
a[x][y]=true;
a[y][x]=true;
}
for(int i=1; i<=n; i++){
if(!f[i]){
for(int j=i+1; j<=n; j++){
if(!f[j] && !a[i][j]){
f[i]=f[j]=true;
break;
}
}
}
}
int x=0;
for(int i=1; x<n/3; i++){
if(!f[i]){
x++;
printf("%d ",i);
}
}
printf("\n");

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: