企业组织网站建设方案wordpress评论表单
企业组织网站建设方案,wordpress评论表单,网站托管维护方案,适合程序员做项目笔记的网站要求字典序的情况的话#xff0c;爆搜 不要求的话 1:建图#xff0c;有向边A---B的意义为选择A则必须选择B#xff0c;一般一个点的两种取值情况会拆点。 2:缩点。 3:建反向图#xff0c;跑拓扑排序#xff08;有说不用建再跑#xff0c;但我不懂为什么#xff09;。…要求字典序的情况的话爆搜 不要求的话 1:建图有向边A---B的意义为选择A则必须选择B一般一个点的两种取值情况会拆点。 2:缩点。 3:建反向图跑拓扑排序有说不用建再跑但我不懂为什么。 4根据实际情况输出。 例题https://www.luogu.org/problemnew/show/P4782 代码 #includecstdio
#includectype.h
#includeiostream
#includecmath
#includevector
using namespace std;
#define ll long long
inline ll rd()
{ll x0,f1;char cgetchar();while(!isdigit(c)){if(c-) f-f;cgetchar();}while(isdigit(c)){x(x1)(x3)(c^48);cgetchar();}return x*f;
}
const int N2e613;
vectorintg[N];
struct zx{int nx,to;}e[N1];
int dfn[N],low[N],top,num,nm,cnt,a[N],v[N],bj[N],du[N],h[N],opp[N];
void TJ(int x)
{dfn[x]low[x]num;a[top]x;for(int i0,y;ig[x].size();i) if(!dfn[yg[x][i]]) TJ(y),low[x]min(low[x],low[y]);else if(!v[y]) low[x]min(low[x],dfn[y]);if(low[x]!dfn[x]) return ;v[x]cnt;while(a[top]!x) v[a[top--]]cnt;top--;
}
void add(int x,int y){e[nm]{h[x],y};h[ax]nm;du[y];}
int main()
{int nrd(),mrd(),i,c,b,j,l0,r0,x,y;for(int k1;km;k) ird(),crd(),jrd(),brd(),g[i1|c].push_back(j1|(!b)),g[j1|b].push_back(i1|(!c));for(i2;i(n1|1);i) if(!dfn[i]) TJ(i);for(x2;x(n1|1);x) for(i0;ig[x].size();i) if(v[g[x][i]]!v[x]) add(v[g[x][i]],v[x]);for(i1;in;i)if(v[i1]v[i1|1]){printf(IMPOSSIBLE);return 0;}for(i2;i(n1|1);i) opp[v[i]]v[i^1];for(int i1;icnt;i) if(!du[i]) a[r]i;while(lr){xa[l];bj[x]1;bj[opp[x]]-1;for(ih[x];i;ie[i].nx) if(!--du[ye[i].to]!bj[y]) a[r]y;}printf(POSSIBLE\n);for(int i1;in;i) if(bj[v[i1]]1)printf(1 );else printf(0 );return 0;
} 转载于:https://www.cnblogs.com/LWL--Figthing/p/10802186.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89839.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!