做集团网站,wordpress导航图标插件,网站用心,网站建设基题意#xff1a;略#xff08;忙着准备文化课。。。明天期中考啊。。。。 思路#xff1a; 正解就是染色#xff0c;2-sat搞#xff1b; AC代码#xff08;虽然是错误的。。。数据水#xff08;过踏马的也行啊#xff0c;起码打脸他啊#xff01;#xff09; 4 3 1 0… 题意略忙着准备文化课。。。明天期中考啊。。。。 思路 正解就是染色2-sat搞 AC代码虽然是错误的。。。数据水过踏马的也行啊起码打脸他啊 4 3 1 0 1 2 2 3 3 4 4 这个就挂了 #include bits/stdc.h
using namespace std;
typedef long long LL;
const int MAX1010;
const double q(1sqrt(5.0))/2.0;
const double eps1e-100;
int n,m;
int v[MAX];
int a[MAX][MAX];
int main()
{int t,i,j;int x,y;while(~scanf(%d%d%d%d,n,m,x,y)){int flag0;int b,c;memset(a,0,sizeof(a));memset(v,-1,sizeof(v));for(i0;im;i){scanf(%d%d,b,c);a[b][c]a[c][b]1;}for(i1;ix;i){scanf(%d,b);for(j0;jn;j){if(a[b][j]){if(v[j]1)flag1;v[j]0;}}v[b]1;}for(i1;iy;i){scanf(%d,b);for(j0;jn;j){if(a[b][j]){if(v[j]0)flag1;v[j]1;}}v[b]0;}for(i1;in;i){for(j1;jn;j){if(a[i][j]){if(v[i]-1v[j]-1){v[i]1;v[j]0;}else if(v[i]!-1v[j]!-1){if(v[i]v[j]!1)flag1;}else if(v[i]!-1){v[j]1-v[i];}elsev[i]1-v[j];}}}for(i1;in;i){
// printf(%d ,v[i]);if(v[i]-1)flag1;}
// puts();if(flag)printf(NO\n);elseprintf(YES\n);}return 0;
}贴份应该正确的escape #includebits/stdc.h
#include cstdio
#include algorithm
using namespace std;
typedef long long ll;
typedef pairint,int pll;
const int N5*1e41000;
#define eps 1e-4
int co[10005];
int vis[10005];
vectorintg[10005];
int dfs(int u)
{int szg[u].size();for(int i0; isz; i){int vg[u][i];if(!co[v]){co[v]!co[u];if(!dfs(v))return 0;}else if(co[u]co[v]){return 0;}}return 1;
}
int main()
{int n,m,x,y;while(cinnmxy){for(int i0; i10005; i)g[i].clear();if(n1){puts(NO);continue;}for(int i0; im; i){int xx,yy;scanf(%d%d,xx,yy);g[xx].push_back(yy);}memset(co,0,sizeof(co));for(int i0; ix; i){int xx;scanf(%d,xx);co[xx]1;
// int szg[xx].size();
// for(int i0; isz; i)
// {
// int vg[xx][i];
// co[v]!co[xx];
// }}for(int i0; iy; i){int xx;scanf(%d,xx);co[xx]0;
// int szg[xx].size();
// for(int i0; isz; i)
// {
// int vg[xx][i];
// co[v]!co[xx];
// }}if(x0y0)puts(NO);else{int flag1;for(int i1; in; i)if(!dfs(i))flag0;if(flag)puts(YES);elseputs(NO);}}return 0;
}加强后的瞎搞求hack #include bits/stdc.h
using namespace std;
typedef long long LL;
const int MAX1010;
const double q(1sqrt(5.0))/2.0;
const double eps1e-100;
int n,m;
int v[MAX];
int a[MAX][MAX];
int main()
{int t,i,j,k;int x,y;while(~scanf(%d%d%d%d,n,m,x,y)){int flag0;int b,c;memset(a,0,sizeof(a));memset(v,-1,sizeof(v));for(i0; im; i){scanf(%d%d,b,c);a[b][c]a[c][b]1;}for(i1; ix; i){scanf(%d,b);for(j0; jn; j){if(a[b][j]){if(v[j]1)flag1;v[j]0;}}v[b]1;}for(i1; iy; i){scanf(%d,b);for(j0; jn; j){if(a[b][j]){if(v[j]0)flag1;v[j]1;}}v[b]0;}for(k0; k2; k){for(i1; in; i){for(j1; jn; j){if(a[i][j]){if(v[i]-1v[j]-1k){v[i]1;v[j]0;}else if(v[i]!-1v[j]!-1){if(v[i]v[j]!1)flag1;}else if(v[i]!-1){v[j]1-v[i];}else if(v[j]!-1)v[i]1-v[j];}}}}for(i1; in; i){
// printf(%d ,v[i]);if(v[i]-1)flag1;}
// puts();if(flag)printf(NO\n);elseprintf(YES\n);}return 0;
}
/*
6 5 0 0
1 2
2 3
3 4
3 1
5 66 5 0 0
1 2
2 3
3 4
4 1
5 64 3 1 0
1 2
2 3
3 4
4*/转载于:https://www.cnblogs.com/keyboarder-zsq/p/6216749.html