結果

問題 No.3685 ワロングアンサーやんけ!
コンテスト
ユーザー Rumain831
提出日時 2026-09-05 14:26:58
言語 C++23(gcc16)
(gcc 16.1.0 + boost 1.92.0)
コンパイル:
g++-16 -O2 -lm -std=c++23 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 972 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,085 ms
コンパイル使用メモリ 179,236 KB
実行使用メモリ 9,796 KB
最終ジャッジ日時 2026-09-05 14:27:26
合計ジャッジ時間 4,390 ms
ジャッジサーバーID
(参考情報)
judge6_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 19 WA * 13
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'void Not(std::string, int)':
main.cpp:38:14: warning: 'iq' may be used uninitialized [-Wmaybe-uninitialized]
   38 |   if(nw) r[iq]='A';
      |              ^
main.cpp:24:37: note: 'iq' was declared here
   24 |   int na=0, nw=0, nq=0, n=r.size(), iq;
      |                                     ^~

ソースコード

diff #
raw source code

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
using ll = long long;

void WA(string r, int k){
  int nw=0, nq=0, n=r.size();
  for(int i=0; i<k; i++) r[i]='A';
  int iq;
  for(int i=k; i<n; i++){
    if(r[i]=='?') nq++, iq=i;
    if(r[i]=='W') nw++;
  }
  if(nw){
    cout << r << '\n'; return;
  }
  if(nq==1) r[iq]='W';
  cout << r << '\n';
  return;
}

void Not(string r, int k){
  int na=0, nw=0, nq=0, n=r.size(), iq;
  for(int i=0; i<k; i++){
    if(r[i]=='A') na++;
    if(r[i]=='W') nw++;
    if(r[i]=='?') nq++, iq=i;
  }
  if(na==k){
    cout << string(n, 'A') << '\n'; return;
  }
  if(nw||nq>=2){
    cout << r << '\n'; return;
  }
  nw=0;
  for(int i=k; i<n; i++)if(r[i]=='W') nw++;
  if(nw) r[iq]='A';
  cout << r << '\n'; return;
}

void solve(){
  string r, s; int k; cin >> r >> s >> k;
  if(s[0]=='N') Not(r, k);
  else WA(r, k);
  return;
}

int main(void){
  int t; cin >> t;
  while(t--){
    solve();
  }
  return 0; 
}
0