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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

UVA - 227 Puzzle

發布時間:2025/3/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UVA - 227 Puzzle 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Puzzle

?UVA - 227?

題目傳送門

注意點:每兩個輸出點間有一個換行,但最后一個輸出無換行

惡心模擬題,很卡輸入輸出!!!

AC代碼1:(自己的代碼,提交時需要選擇C++11)

#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstdlib> #include <cstring> #include <map> #include <stack> #include <queue> #include <vector> #include <bitset> #include <set> #include <utility> #include <sstream> #include <iomanip> using namespace std; typedef long long ll; typedef unsigned long long ull; #define inf 0x3f3f3f3f #define rep(i,l,r) for(int i=l;i<=r;i++) #define lep(i,l,r) for(int i=l;i>=r;i--) #define ms(arr) memset(arr,0,sizeof(arr)) //priority_queue<int,vector<int> ,greater<int> >q; const int maxn = (int)1e5 + 5; const ll mod = 1e9+7; char mapp[1000][1000]; bool xian(int x,int y) {if(x<0||y<0||x>=5||y>=5)return false;return true; } int main() {#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endif//freopen("out.txt", "w", stdout);ios::sync_with_stdio(0),cin.tie(0);int cnt=0;while(1) {ms(mapp);gets(mapp[0]);if(mapp[0][0]=='Z')break;cnt++;if(cnt!=1) printf("\n");for(int i=1;i<5;i++)gets(mapp[i]);int sx,sy;for(int i=0;i<5;i++){for(int j=0;j<5;j++){if(mapp[i][j]==' '){sx=i;sy=j;}}}char c;bool ju=false;while((c=getchar())!='0'){if(c=='\n')continue;if(ju)continue;int dx,dy;switch(c){case 'A':{dx=sx-1;dy=sy;if(!xian(dx,dy))ju=true;else {mapp[sx][sy]=mapp[dx][dy];mapp[dx][dy]=' ';sx=dx;sy=dy;break;}}case 'B':{dx=sx+1;dy=sy;if(!xian(dx,dy))ju=true;else {mapp[sx][sy]=mapp[dx][dy];mapp[dx][dy]=' ';sx=dx;sy=dy;break;}}case 'R':{dx=sx;dy=sy+1;if(!xian(dx,dy))ju=true;else {mapp[sx][sy]=mapp[dx][dy];mapp[dx][dy]=' ';sx=dx;sy=dy;break;}}case 'L':{dx=sx;dy=sy-1;if(!xian(dx,dy))ju=true;else {mapp[sx][sy]=mapp[dx][dy];mapp[dx][dy]=' ';sx=dx;sy=dy;break;}}}}c=getchar();printf("Puzzle #%d:\n",cnt);if(ju)printf("This puzzle has no final configuration.\n");else {for(int i=0;i<5;i++){for(int j=0;j<4;j++){printf("%c ",mapp[i][j]);}printf("%c\n",mapp[i][4]);}}}return 0; }

AC代碼2:(大佬的代碼。。。)

? #include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstdlib> #include <cstring> #include <map> #include <stack> #include <queue> #include <vector> #include <bitset> #include <set> #include <utility> #include <sstream> #include <iomanip> using namespace std; typedef long long ll; typedef unsigned long long ull; #define inf 0x3f3f3f3f #define rep(i,l,r) for(int i=l;i<=r;i++) #define lep(i,l,r) for(int i=l;i>=r;i--) #define ms(arr) memset(arr,0,sizeof(arr)) //priority_queue<int,vector<int> ,greater<int> >q; const int maxn = (int)1e5 + 5; const ll mod = 1e9+7; char block[5][5]; int x,y; int input() {for(int i=0;i<5;i++) {for(int j=0;j<5;j++) {reput:scanf("%c",&block[i][j]);if(i==0&&j==0&&block[0][0]=='Z')return 1;if(block[i][j]==13||block[i][j]==10)goto reput;if(block[i][j]==32){x=i;y=j;}}}return 0; } int move() {char ch;int flag=1;while((ch=getchar())!='0') {switch(ch) {case '\n':continue;case 'A':{if(x!=0) {block[x][y]=block[x-1][y];block[x-1][y]=' ';x--;}else {flag=0;}break;}case 'B':{if(x!=4) {block[x][y]=block[x+1][y];block[x+1][y]=' ';x++;}else {flag=0;}break;}case 'L':{if(y!=0) {block[x][y]=block[x][y-1];block[x][y-1]=' ';y--;} else {flag=0;}break;}case 'R':{if(y!=4) {block[x][y]=block[x][y+1];block[x][y+1]=' ';y++;}else {flag=0;}break;}}}return flag; } void output(int flag) {static int count=0;count++;if(count!=1)printf("\n");printf("Puzzle #%d:\n",count);if(flag){for(int i=0;i<5;i++){for(int j=0;j<4;j++){printf("%c ",block[i][j]);}printf("%c\n",block[i][4]);}}elseprintf("This puzzle has no final configuration.\n"); } int main() {#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endif//freopen("out.txt", "w", stdout);ios::sync_with_stdio(0),cin.tie(0);for(;;){int flag1=input();if(flag1)break;int flag2=move();output(flag2);}return 0; }?

?

總結

以上是生活随笔為你收集整理的UVA - 227 Puzzle的全部內容,希望文章能夠幫你解決所遇到的問題。

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