質問編集履歴
1
更新
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -147,4 +147,109 @@ 
     | 
|
| 
       147 
147 
     | 
    
         
             
            課題に対してアプローチしたことを記載してください
         
     | 
| 
       148 
148 
     | 
    
         | 
| 
       149 
149 
     | 
    
         
             
            ###補足情報(言語/FW/ツール等のバージョンなど)
         
     | 
| 
       150 
     | 
    
         
            -
            より詳細な情報
         
     | 
| 
      
 150 
     | 
    
         
            +
            より詳細な情報
         
     | 
| 
      
 151 
     | 
    
         
            +
            '''java
         
     | 
| 
      
 152 
     | 
    
         
            +
            import java.util.*;
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
            public class Main{
         
     | 
| 
      
 155 
     | 
    
         
            +
            	private static final Scanner scan = new Scanner(System.in);
         
     | 
| 
      
 156 
     | 
    
         
            +
            	static boolean flag = false;
         
     | 
| 
      
 157 
     | 
    
         
            +
             
     | 
| 
      
 158 
     | 
    
         
            +
            	public static void main(String[] args){
         
     | 
| 
      
 159 
     | 
    
         
            +
            		
         
     | 
| 
      
 160 
     | 
    
         
            +
            		int n = scan.nextInt();
         
     | 
| 
      
 161 
     | 
    
         
            +
            		int[] d = new int[6];
         
     | 
| 
      
 162 
     | 
    
         
            +
            		Dice[] dices = new Dice[n];
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
      
 164 
     | 
    
         
            +
            		for(int i = 0; i < n; i++){
         
     | 
| 
      
 165 
     | 
    
         
            +
            			for(int j = 0; j < 6; j++){
         
     | 
| 
      
 166 
     | 
    
         
            +
            				d[j] = scan.nextInt();
         
     | 
| 
      
 167 
     | 
    
         
            +
            			}
         
     | 
| 
      
 168 
     | 
    
         
            +
            			dices[i] = new Dice(d);
         
     | 
| 
      
 169 
     | 
    
         
            +
            		}
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
            		for(int i = 0; i < n - 1; i++){
         
     | 
| 
      
 172 
     | 
    
         
            +
            			for(int j = n - 1; j > i; j--){
         
     | 
| 
      
 173 
     | 
    
         
            +
            				flag = checkSameDice(dices[j], dices[j - 1]);
         
     | 
| 
      
 174 
     | 
    
         
            +
            				if(flag == true)break;
         
     | 
| 
      
 175 
     | 
    
         
            +
            			}
         
     | 
| 
      
 176 
     | 
    
         
            +
            			if(flag == true)break;
         
     | 
| 
      
 177 
     | 
    
         
            +
            		}
         
     | 
| 
      
 178 
     | 
    
         
            +
            		System.out.println(flag? "No" : "Yes");
         
     | 
| 
      
 179 
     | 
    
         
            +
            	}
         
     | 
| 
      
 180 
     | 
    
         
            +
             
     | 
| 
      
 181 
     | 
    
         
            +
            	public static boolean checkSameDice(Dice diceA, Dice diceB){
         
     | 
| 
      
 182 
     | 
    
         
            +
            		flag = false;
         
     | 
| 
      
 183 
     | 
    
         
            +
            		for(int i = 0; i < 4; i++){
         
     | 
| 
      
 184 
     | 
    
         
            +
            			for(int j = 0; j < 4; j++){
         
     | 
| 
      
 185 
     | 
    
         
            +
            				flag = Arrays.equals(diceA._d, diceB._d);
         
     | 
| 
      
 186 
     | 
    
         
            +
            				if(flag == true)break;
         
     | 
| 
      
 187 
     | 
    
         
            +
            				diceB.rollEast();
         
     | 
| 
      
 188 
     | 
    
         
            +
            			}
         
     | 
| 
      
 189 
     | 
    
         
            +
            			for(int j = 0; j < 4; j++){
         
     | 
| 
      
 190 
     | 
    
         
            +
            				flag = Arrays.equals(diceA._d, diceB._d);
         
     | 
| 
      
 191 
     | 
    
         
            +
            				if(flag == true)break;
         
     | 
| 
      
 192 
     | 
    
         
            +
            				diceB.rollSouth();
         
     | 
| 
      
 193 
     | 
    
         
            +
            			}
         
     | 
| 
      
 194 
     | 
    
         
            +
            			flag = Arrays.equals(diceA._d, diceB._d);
         
     | 
| 
      
 195 
     | 
    
         
            +
            			if(flag == true)break;
         
     | 
| 
      
 196 
     | 
    
         
            +
            			diceB.rollRight();
         
     | 
| 
      
 197 
     | 
    
         
            +
            		}
         
     | 
| 
      
 198 
     | 
    
         
            +
            		return flag;
         
     | 
| 
      
 199 
     | 
    
         
            +
            	}
         
     | 
| 
      
 200 
     | 
    
         
            +
            }
         
     | 
| 
      
 201 
     | 
    
         
            +
             
     | 
| 
      
 202 
     | 
    
         
            +
            class Dice{
         
     | 
| 
      
 203 
     | 
    
         
            +
             
     | 
| 
      
 204 
     | 
    
         
            +
            	int[] _d = new int[6];
         
     | 
| 
      
 205 
     | 
    
         
            +
            	public static final int
         
     | 
| 
      
 206 
     | 
    
         
            +
            		TOP = 0, SOUTH = 1, EAST = 2,
         
     | 
| 
      
 207 
     | 
    
         
            +
            		WEST = 3, NORTH = 4, BOTTOM = 5; // 定数
         
     | 
| 
      
 208 
     | 
    
         
            +
             
     | 
| 
      
 209 
     | 
    
         
            +
            	public Dice(int[] d){ // コンストラクタ
         
     | 
| 
      
 210 
     | 
    
         
            +
            		for(int i = 0; i < 6; i++){
         
     | 
| 
      
 211 
     | 
    
         
            +
            			_d[i] = d[i];
         
     | 
| 
      
 212 
     | 
    
         
            +
            		}
         
     | 
| 
      
 213 
     | 
    
         
            +
            	}
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
            	public void rollSouth(){
         
     | 
| 
      
 216 
     | 
    
         
            +
            		int tmp = _d[TOP];
         
     | 
| 
      
 217 
     | 
    
         
            +
            		_d[TOP] = _d[NORTH];
         
     | 
| 
      
 218 
     | 
    
         
            +
            		_d[NORTH] = _d[BOTTOM];
         
     | 
| 
      
 219 
     | 
    
         
            +
            		_d[BOTTOM] = _d[SOUTH];
         
     | 
| 
      
 220 
     | 
    
         
            +
            		_d[SOUTH] = tmp;
         
     | 
| 
      
 221 
     | 
    
         
            +
            	}
         
     | 
| 
      
 222 
     | 
    
         
            +
             
     | 
| 
      
 223 
     | 
    
         
            +
            	public void rollNorth(){
         
     | 
| 
      
 224 
     | 
    
         
            +
            		int tmp = _d[TOP];
         
     | 
| 
      
 225 
     | 
    
         
            +
            		_d[TOP] = _d[SOUTH];
         
     | 
| 
      
 226 
     | 
    
         
            +
            		_d[SOUTH] = _d[BOTTOM];
         
     | 
| 
      
 227 
     | 
    
         
            +
            		_d[BOTTOM] = _d[NORTH];
         
     | 
| 
      
 228 
     | 
    
         
            +
            		_d[NORTH] = tmp;
         
     | 
| 
      
 229 
     | 
    
         
            +
            	}
         
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
      
 231 
     | 
    
         
            +
            	public void rollEast(){
         
     | 
| 
      
 232 
     | 
    
         
            +
            		int tmp = _d[TOP];
         
     | 
| 
      
 233 
     | 
    
         
            +
            		_d[TOP] = _d[WEST];
         
     | 
| 
      
 234 
     | 
    
         
            +
            		_d[WEST] = _d[BOTTOM];
         
     | 
| 
      
 235 
     | 
    
         
            +
            		_d[BOTTOM] = _d[EAST];
         
     | 
| 
      
 236 
     | 
    
         
            +
            		_d[EAST] = tmp;
         
     | 
| 
      
 237 
     | 
    
         
            +
            	}
         
     | 
| 
      
 238 
     | 
    
         
            +
             
     | 
| 
      
 239 
     | 
    
         
            +
            	public void rollWest(){
         
     | 
| 
      
 240 
     | 
    
         
            +
            		int tmp = _d[TOP];
         
     | 
| 
      
 241 
     | 
    
         
            +
            		_d[TOP] = _d[EAST];
         
     | 
| 
      
 242 
     | 
    
         
            +
            		_d[EAST] = _d[BOTTOM];
         
     | 
| 
      
 243 
     | 
    
         
            +
            		_d[BOTTOM] = _d[WEST];
         
     | 
| 
      
 244 
     | 
    
         
            +
            		_d[WEST] = tmp;
         
     | 
| 
      
 245 
     | 
    
         
            +
            	}
         
     | 
| 
      
 246 
     | 
    
         
            +
             
     | 
| 
      
 247 
     | 
    
         
            +
            	public void rollRight(){
         
     | 
| 
      
 248 
     | 
    
         
            +
            		int tmp = _d[SOUTH];
         
     | 
| 
      
 249 
     | 
    
         
            +
            		_d[SOUTH] = _d[WEST];
         
     | 
| 
      
 250 
     | 
    
         
            +
            		_d[WEST] = _d[NORTH];
         
     | 
| 
      
 251 
     | 
    
         
            +
            		_d[NORTH] = _d[EAST];
         
     | 
| 
      
 252 
     | 
    
         
            +
            		_d[EAST] = tmp;
         
     | 
| 
      
 253 
     | 
    
         
            +
            	}
         
     | 
| 
      
 254 
     | 
    
         
            +
            }
         
     | 
| 
      
 255 
     | 
    
         
            +
            '''
         
     |