前提・実現したいこと
AtCoderでなぜWAになっているか分からないため,ご教授お願いします。
問題はこちらです
解説サイトを2つ拝見致しましたが,やり方が全く異なっていたので残念ながら解決には至りませんでした。
また,C++を勉強し始めたということもあり,もっと良い書き方やソースコードがあるだろうと存じておりますが
なぜこれではいけないのかを理解したいので,WAになってしまう理由を教え頂けないでしょうか。
最後まで読んでくださって,ありがとうございました。
発生している問題・エラーメッセージ
入力例をすべて試したところ,全て出力例と同じ結果が得られました。
該当のソースコード
C++
1#include <bits/stdc++.h> 2using namespace std; 3 4int main() { 5 6 int N; 7 int count = 1; 8 string S; 9 10 cin >> N; 11 12 for(int i = 0; i < N; i++) { 13 14 cin >> S; 15 16 if(S == "P") { 17 count *= 2; 18 } 19 20 else if(S == "W") { 21 count *= 2; 22 } 23 24 else if(S == "G") { 25 count *= 2; 26 } 27 28 else if(S == "Y") { 29 count = 0; 30 } 31 32 else { 33 cout << "error" << endl; 34 } 35 } 36 37 if(count % 3 != 0) { 38 cout << "Three" << "\n"; 39 } 40 41 else if(count % 3 == 0) { 42 cout << "Four" << "\n"; 43 } 44}
https://atcoder.jp/posts/20
一部古いコンテストはありませんが、atcoderではテストケースと出力結果が公開されています。
ABC089はあるので、テストケース使ってデバッグを試されてみてはいかがでしょうか。
N=80
とかで試してみれば。
単純にYがあるか無いかでは駄目なのでしょうか。
Crimson_Tideさん,1T2R3M4さん,アドバイスありがとうございます。
すでにAtCoderのコードテストとVScodeで環境構築したものを使用し,デバックをしていました。
しかし,N = 80など入力例以外や制約の最大値にちかいもので試していなかったのが問題で反省しています。
まだAtCoderもC++もプログラミングも始めたばかりですが,
今回の件でかなり勉強になりました,ありがとうございます。
回答3件
あなたの回答
tips
プレビュー