博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1971 [NOI2011]兔兔与蛋蛋游戏
阅读量:4308 次
发布时间:2019-06-06

本文共 1771 字,大约阅读时间需要 5 分钟。

思路比较迷……题解在

//minamoto#include
#define R register#define fp(i,a,b) for(R int i=a,I=b+1;i
I;--i)#define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)using namespace std;int read(){ R int res,f=1;R char ch; while((ch=getchar())>'9'||ch<'0')(ch=='-')&&(f=-1); for(res=ch-'0';(ch=getchar())>='0'&&ch<='9';res=res*10+ch-'0'); return res*f;}const int N=105,M=10005;const int dx[]={1,0,-1,0},dy[]={0,1,0,-1};struct eg{int v,nx;}e[M];int head[M],tot;inline void add(R int u,R int v){e[++tot]={v,head[u]},head[u]=tot;}int id[N][N],vis[M],st[M],match[M];bool ban[M],win[M],mp[N][N];int n,m,tim,top,cnt,q,bx,by;char s[N];bool find(int u){ if(ban[u])return 0;go(u){ if(vis[v]==tim||ban[v])continue; vis[v]=tim;if(!match[v]||find(match[v])){ match[u]=v,match[v]=u;return 1; } }return 0;}int main(){// freopen("testdata.in","r",stdin); n=read(),m=read(); fp(i,1,n){ scanf("%s",s+1); fp(j,1,m)switch(s[j]){ case 'X':mp[i][j]=1;break; case 'O':mp[i][j]=0;break; case '.':mp[i][j]=1,bx=i,by=j;break; } }fp(i,1,n)fp(j,1,m)id[i][j]=++cnt; fp(i,1,n)fp(j,1,m)if(mp[i][j])fp(k,0,3){ int x=i+dx[k],y=j+dy[k]; if(x>=1&&x<=n&&y>=1&&y<=m&&!mp[x][y])add(id[i][j],id[x][y]),add(id[x][y],id[i][j]); }fp(i,1,n)fp(j,1,m)if(mp[i][j])++tim,find(id[i][j]); q=read();fp(i,1,(q<<1)){ int x=id[bx][by];ban[x]=1; if(match[x]){ int y=match[x];match[x]=match[y]=0; ++tim,win[i]=!find(y); }bx=read(),by=read(); } fp(i,1,q)if(win[(i<<1)-1]&&(win[i<<1]))st[++top]=i; printf("%d\n",top);fp(i,1,top)printf("%d\n",st[i]); return 0;}

转载于:https://www.cnblogs.com/bztMinamoto/p/10139933.html

你可能感兴趣的文章
设计模式04_抽象工厂
查看>>
设计模式05_单例
查看>>
设计模式06_原型
查看>>
设计模式07_建造者
查看>>
设计模式08_适配器
查看>>
设计模式09_代理模式
查看>>
设计模式10_桥接
查看>>
设计模式11_装饰器
查看>>
设计模式12_外观模式
查看>>
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑02
查看>>
用时三个月,终于把所有的Python库全部整理了!拿去别客气!
查看>>
pd.stats.ols.MovingOLS以及替代
查看>>