[acm] 118

看板C_and_CPP (C/C++)作者 (禿驢)時間16年前 (2009/08/03 23:56), 編輯推噓3(307)
留言10則, 4人參與, 最新討論串1/1
/* 一直wa 不知道哪裡錯 我用\n來當作判斷輸入結束有錯嗎? */ #include<stdio.h> #include<stdlib.h> char maze[51][51]; int main(){ int x=0,y=0; int inix=0,iniy=0; char dir=0; char com=0; int lost=0; scanf("%d%d",&x,&y); //確定世界大小 while(scanf("%d %d %c\n",&inix,&iniy,&dir)!=EOF){ lost=0; while(scanf("%c",&com)!=EOF){ if(com=='\n' || lost) break; switch(com){ case 'F': switch(dir){ case 'N': if(iniy+1 <=y) iniy++; else if(maze[inix][iniy]!='L'){ //iniy+1>y maze[inix][iniy]='L'; lost=1; }//end else break; case 'S': if(iniy-1 >=0) iniy--; else if(maze[inix][iniy]!='L'){ //iniy+1>y maze[inix][iniy]='L'; lost=1; }//end else break; case 'E': if(inix+1 <=x) inix++; else if(maze[inix][iniy]!='L'){ //iniy+1>y maze[inix][iniy]='L'; lost=1; }//end else break; case 'W': if(inix-1 >=0) inix--; else if(maze[inix][iniy]!='L'){ //iniy+1>y maze[inix][iniy]='L'; lost=1; }//end else break; }//end switch break; case 'L': switch(dir){ case 'N': dir='W'; break; case 'S': dir='E'; break; case 'E': dir='N'; break; case 'W': dir='S'; break; }//end switch break; case 'R': switch(dir){ case 'N': dir='E'; break; case 'S': dir='W'; break; case 'E': dir='S'; break; case 'W': dir='N'; break; }//end switch break; }//end switch }//end while printf("%d %d %c",inix,iniy,dir); if(lost) printf(" LOST\n"); else printf("\n"); }//end while system("pause"); }//end main -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.172.123

08/04 00:25, , 1F
08/04 00:25, 1F

08/04 08:15, , 2F
我沒仔細看題目,只大概看了他的 Sample Input
08/04 08:15, 2F

08/04 08:15, , 3F
覺得應該是這邊的問題 while(scanf("%c",&com)!=EOF){
08/04 08:15, 3F

08/04 08:16, , 4F
if(com=='\n' || lost) break; switch ...
08/04 08:16, 4F

08/04 08:18, , 5F
如果字串最後有空白的話呢?
08/04 08:18, 5F

08/04 08:20, , 6F
雖然我覺得 default 應該解決,不過如果要從輸入資料找
08/04 08:20, 6F

08/04 08:20, , 7F
我覺得好像都沒啥問題
08/04 08:20, 7F

08/04 08:29, , 8F
剛跑了下sample input 跟結果不同?輸入部分應該沒問題
08/04 08:29, 8F

08/04 10:52, , 9F
嗯嗯 發現我寫錯了 感謝樓上
08/04 10:52, 9F

08/04 11:04, , 10F
為何 ACM 只有四種語言可以選 @.@
08/04 11:04, 10F
文章代碼(AID): #1ATmYx9h (C_and_CPP)
文章代碼(AID): #1ATmYx9h (C_and_CPP)