結果
問題 | No.197 手品 |
ユーザー |
![]() |
提出日時 | 2015-05-02 21:38:29 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 821 bytes |
コンパイル時間 | 567 ms |
コンパイル使用メモリ | 64,256 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-20 03:37:27 |
合計ジャッジ時間 | 1,889 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
ソースコード
#include <iostream> #include <string> #include <algorithm> #include <cmath> using namespace std; void swap(char* x, char* y) { char tmp = *x; *x = *y; *y = tmp; } int main(void) { string be, af; long long N; int num = -1; int cnt = 0; cin >> be >> N >> af; for(int i = -1; i <= 1; i++){ string tmp = be; for(int j = -1; j <= 1; j++){ swap(tmp[i*j + 1], tmp[1]); if(tmp == af){ if(abs(i) *(j + 3) / 2 == N){ cout << "FAILURE" << endl; return 0; } if(num == -1){ num=abs(i) *(j + 3) / 2; } else{ num = min(abs(i) *(j + 3) / 2, num); } } } } if(num == -1 || N - num < 0){ cout << "SUCCESS" << endl; } else if(af[0] == af[2] && af[0] != af[1]&&N - num == 1){ cout << "SUCCESS" << endl; } else{ cout << "FAILURE" << endl; } return 0; }