結果
| 問題 | No.228 ゆきこちゃんの 15 パズル |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2022-05-13 09:48:20 |
| 言語 | C++17 (gcc 15.3.0 + boost 1.92.0 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 1 ms / 5,000 ms |
| + 820µs | |
| コード長 | 1,093 bytes |
| 記録 | |
| コンパイル時間 | 523 ms |
| コンパイル使用メモリ | 95,108 KB |
| 実行使用メモリ | 9,844 KB |
| 最終ジャッジ日時 | 2026-10-13 04:40:25 |
| 合計ジャッジ時間 | 2,119 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 |
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:21:17: warning: 'zerox' may be used uninitialized [-Wmaybe-uninitialized]
21 | while(!(zerox == 3 && zeroy == 3)){
| ~~~~~~^~~~
main.cpp:7:7: note: 'zerox' was declared here
7 | int zerox,zeroy;
| ^~~~~
main.cpp:21:31: warning: 'zeroy' may be used uninitialized [-Wmaybe-uninitialized]
21 | while(!(zerox == 3 && zeroy == 3)){
| ~~~~~~^~~~
main.cpp:7:13: note: 'zeroy' was declared here
7 | int zerox,zeroy;
| ^~~~~
ソースコード
#include <iostream>
#include <vector>
using namespace std;
pair<int,int> ar4[4] = {{0,1},{0,-1},{1,0},{-1,0}};
int main(){
vector<vector<int>> A(4,vector<int>(4)),B(4,vector<int>(4));
int zerox,zeroy;
int nw = 1;
for(int i = 0; 4 > i; i++){
for(int j = 0; 4 > j; j++){
cin>>A[i][j];
B[i][j] = nw;
nw++;
if(A[i][j] == 0){
zerox = i;
zeroy = j;
}
}
}
B[3][3] = 0;
while(!(zerox == 3 && zeroy == 3)){
bool next = false;
for(int i = 0; 4 > i; i++){
if(0 <= zerox+ar4[i].first && zerox+ar4[i].first < 4 && 0 <= zeroy+ar4[i].second && zeroy+ar4[i].second < 4 && A[zerox+ar4[i].first][zeroy+ar4[i].second] == B[zerox][zeroy]){
swap(A[zerox][zeroy],A[zerox+ar4[i].first][zeroy+ar4[i].second]);
zerox+=ar4[i].first;
zeroy+=ar4[i].second;
next = true;
break;
}
}
if(!next)break;
}
for(int i = 0; 4 > i; i++){
for(int j = 0; 4 > j; j++){
if(A[i][j] != B[i][j]){
cout << "No" << endl;
return 0;
}
}
}
cout << "Yes" << endl;
}