日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IMAU OJ一招制胜

發布時間:2024/3/26 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IMAU OJ一招制胜 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述
Alphago是全宇宙最知名的五子棋大師,作為五子棋菜鳥的你竟然向他發起挑戰,你的終極目標就是勝利,盡早的實現5顆棋子連城一條線——五子連珠。現在棋局已經進行了一半,勝負尚未分出,下一步輪到你放棋子,這一顆棋子下去,你能否一招制勝下出五子連珠呢?(5顆連續排列的棋子,可以橫著、豎著、或者45度角斜著均可)。

輸入
輸入14行字符串,每行字符串14個連續的字符。其中 . 代表棋盤上的空白格, * 代表你已經下的棋子,# 代表Alphago已經下的棋子。 數據保證待分析的棋局上沒有任何一方已經存在五子連珠。

輸出
如果這一步放完棋子你能實現五子連珠,那么你就勝利了,輸出So Easy! 否則輸出Alphago you are so good!
輸出答案之后請輸出回車換行。

樣例輸入
…#…#…
.…
……#…
……#…
……
……
…#…#…
.#……#

……#…
……
……#…
……
…#….#…

樣例輸出
So Easy!

提示
測試數據包括其他情況的案例。

#include <bits/stdc++.h> using namespace std; char c[15][15]; bool f=false; int length=0,loop=1; void dfs(int x,int y,int fx,int fy) {int tx=x+fx;int ty=y+fy; // cout<<tx<<" "<<ty<<endl;if(c[tx][ty]=='*'&&length<4){length++;dfs(tx,ty,fx,fy);}else if(c[tx][ty]=='.'&&length<4&&loop){length++;loop--;dfs(tx,ty,fx,fy);}else if(length==4&&loop&&c[tx][ty]=='.'){f=true;}else if(length==4&&c[tx][ty]=='*'){f=true;} } int fx[9]={0,0,1,0,-1,-1,1,1,-1}; int fy[9]={0,1,0,-1,0,1,1,-1,-1}; int main() {for(int i=1;i<15;i++)for(int j=1;j<15;j++)cin>>c[i][j];//輸入for(int i=1;i<15;i++){for(int j=1;j<15;j++){for(int k=1;k<9;k++){if(c[i][j]=='*'){length=1;loop=1;dfs(i,j,fx[k],fy[k]);if(f==true)break;}}}}if(f)cout<<"So Easy!"<<endl;else cout<<"Alphago you are so good!"<<endl; // cout<<dfs(4,6,1,0); }

總結

以上是生活随笔為你收集整理的IMAU OJ一招制胜的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。