2016年1月13日 星期三

b367: 翻轉世界

內容 :
有位勇士排除萬難後,來到了最後一關-----[翻轉世界]
他發現所有物品都翻轉了180度
如果要繼續前進必須做出一項選擇,也就是找到翻轉後不會改變的東西!
 例如:
110
000
011
若翻轉180度:
110
000
011
現在給你一張圖
請你幫忙這位勇士吧,因為除了必須判斷這個問題以外,還必須打倒翻轉世界的怪物才行
所以請你寫一個程式幫他 
輸入說明 : 
每行有一正整數T(T<11),代表有幾組測試資料
接下來有T行, 每行有N、M兩正整數
N代表長,M代表寬 (0<N,M<11)
而接下會有N行,每一行會有M個數字 r (0<=r<231-1)
 
輸出說明 : 

對於每個測資,判斷是否可以符合翻轉180度不會改變的圖形

是的話請輸出 go forward
否的話請輸出 keep defending 
範例輸入 : help
2
3 3
1 1 0
0 1 0
0 1 1
1 5
0 0 1 0 1
範例輸出:
go forward
keep defending
提示 : 
第二個範例:
原本:0 0 1 0 1
翻轉:1 0 1 0 0
所以不會一樣

現在測資還蠻弱的,以後將會加強 
標籤:
出處: 
自己 (管理:simultaneously)

import java.util.Scanner;

public class b367 {

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
long t=sc.nextInt();
for(int q=0;q<t;q++){
int n=sc.nextInt(),m=sc.nextInt();
int[][] arr=new int[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++)
arr[i][j]=sc.nextInt();
}

boolean flag=true;
for(int i=0,a=n-1;i<n;i++,a--){
for(int j=0,b=m-1;j<m;j++,b--){
if(arr[i][j]!=arr[a][b]){
flag=false;
break;
}
}
}
if(flag)
System.out.println("go forward");
else
System.out.println("keep defending");
}
}

}

}

沒有留言:

張貼留言