結果
問題 | No.197 手品 |
ユーザー |
|
提出日時 | 2017-07-12 16:53:27 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,441 bytes |
コンパイル時間 | 708 ms |
コンパイル使用メモリ | 82,456 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-20 03:52:29 |
合計ジャッジ時間 | 1,963 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:60:39: warning: ‘s_ind_aft’ may be used uninitialized in this function [-Wmaybe-uninitialized] 60 | int d = abs(s_ind_bef - s_ind_aft); | ~~~~~~~~~~^~~~~~~~~~~ main.cpp:60:39: warning: ‘s_ind_bef’ may be used uninitialized in this function [-Wmaybe-uninitialized]
ソースコード
#include<cstdio> #include<iostream> #include<algorithm> #include<string> #include<queue> #include<vector> #include<functional> #include<cmath> #include<map> #include<stack> #include<set> #include<numeric> #include<limits> using namespace std; typedef long long ll; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef pair<ll, string> pls; int main() { string s_before, s_after; ll N,o_num_b=0,o_num_a= 0,x_num_a = 0,x_num_b = 0; string ans; cin >> s_before >> N >> s_after; for (int i = 0; i < s_before.size(); i++) { if (s_before[i] == 'o')o_num_b++; else x_num_b++; } for (int i = 0; i < s_after.size(); i++) { if (s_after[i] == 'o')o_num_a++; else x_num_a++; } if (s_before == "ooo" && s_after == "ooo") { ans = "FAILURE"; } else if ((o_num_b != o_num_a) || (x_num_a != x_num_b)) { ans = "SUCCESS"; } else { char c; if (o_num_b < x_num_b)c = 'o'; else c = 'x'; int s_ind_bef; for (int i = 0; i < s_before.size(); i++) { if (s_before[i] == c)s_ind_bef = i; } int s_ind_aft; for (int i = 0; i < s_after.size(); i++) { if (s_after[i] == c)s_ind_aft = i; } int d = abs(s_ind_bef - s_ind_aft); if (N == 0) { if (s_before == s_after)ans = "FAILURE"; else ans = "SUCCESS"; } else if (N == 1) { if (d == 1 || (d== 0 &&( s_ind_bef!= 1))) ans = "FAILURE"; else ans = "SUCCESS"; } else { ans = "FAILURE"; } } cout << ans << endl; return 0; }