NF

地方で働くプログラマ

ABC140復習

fatalerror.hatenablog.com

D問題、色々頑張ってるけど駄目だ。取り合えず、Nが1~20までは入力Sを網羅して全完してる人のACコードと出力比較したけど同じ。それより大きい数だと、入力生成に時間が掛かるのかオンラインコンパイラで実行できないという(ACコード単体でも)。

testcase_02以降、偶数のケースが軒並みWA。効率悪い実装になってるのは分かってるので、TLEならなんとしようがあるんですが…


(追記)
入力以外をACコードに入れ替えて提出してみたら同じ結果でWAだった。これ入力の問題?

(追記2)
入力Sをchar配列からstd::stringに変えたら通った。

#if 0  // NG
   char s[n]; 
   cin >> s;
   foo(n, k, s);
#else  // OK
   std::string s;
   cin >> s;
   foo(n, k, (char*)s.c_str());

理由がわからん。ていうか、毎回アルゴリズムと無関係のところで躓いて時間消費してる気がします。もうchar配列は使わねえ ヽ(`Д´)ノ
…ではマズいので、また別の日に考えよう。設問的にs[n]以降にアクセスしなさそうだし、誰か通りかかった文字列詳しい人教えていただけると助かります。誰も見てないので無理なのは分かってるけど。