結果
問題 | No.223 1マス指定の魔方陣 |
ユーザー |
![]() |
提出日時 | 2015-06-12 12:31:38 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 141 ms / 5,000 ms |
コード長 | 1,133 bytes |
コンパイル時間 | 1,949 ms |
コンパイル使用メモリ | 77,956 KB |
実行使用メモリ | 54,356 KB |
最終ジャッジ日時 | 2024-07-06 15:50:30 |
合計ジャッジ時間 | 8,998 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 46 |
ソースコード
package no223; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] ans = even1(n); for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { ans[i][j]--; } } int x = sc.nextInt() - 1; int y = sc.nextInt() - 1; int z = sc.nextInt() - 1; int xor = ans[y][x] ^ z; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { ans[i][j] = (ans[i][j] ^ xor) + 1; } } StringBuilder sb = new StringBuilder(); for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if (j > 0) { sb.append(' '); } sb.append(ans[i][j]); } sb.append('\n'); } System.out.print(sb.toString()); } // http://d.hatena.ne.jp/ziom/20090620/p1 public static int[][] even1(int n) { int[][] m = new int[n][n]; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { m[i][j] = i * n + j + 1; } } for(int i=0;i<n/2;i++) { for(int j=0;j<n;j++) { if (((i + 1) / 2 + (j + 1) / 2) % 2 == 1) { int temp = m[i][j]; m[i][j] = m[n-1-i][n-1-j]; m[n-1-i][n-1-j] = temp; } } } return m; } }