提出 #34484702


ソースコード 拡げる

#include <bits/stdc++.h>
#define rep(i,a,n) for (int i=a;i<(int)n;i++)
#define pb push_back

int read(){int r;scanf("%d",&r);return r;} // read

char s[10][10];
int main(){
  int n = read();
  rep(i,0,n) scanf("%s",s[i]);
  int fT = 0;
  int fS = 0;
  std::vector<std::array<int,3>> ts;
  rep(j,0,n) {
    int cw = 0;
    int cb = 0;
    rep(i,0,n){
      if(s[i][j] == 'W'){
        ts.push_back({i-cw,1,'W'});
        fT += i-cw;
        fS ++;
        cw++;
      }
      if(s[i][j] == 'B'){
        ts.push_back({1,i-cb,'B'});
        fS += i-cb;
        fT ++;
        cb++;
      }
    }
  }
  std::vector<bool> vis(ts.size(),false);
  auto ft = [=](int i) { return ts[i][2]=='W' ? -1 : (ts[i][1] - ts[i][0]);};
  auto fs = [=](int i) { return ts[i][2]=='B' ? -1 : (ts[i][0] - ts[i][1]);};
  while(true){
    if(fT <= 0){
      printf("Snuke\n");
      return 0;
    }
    int tsi = -1;
    rep(i,0,ts.size()) if(
        !vis[i] &&
        ts[i][0] &&
        (tsi == -1 || ft(i) > ft(tsi) || (ft(i) == ft(tsi) && ts[i][2] == 'W'))
        ) tsi = i;
    if(tsi == -1){
      printf("Snuke\n");
      return 0;
    }
    if(ts[tsi][2] == 'W'){
      fT -= 1;
      ts[tsi][0] --;
    }else if(ts[tsi][2] == 'B'){
      vis[tsi] = true;
      fT -= ts[tsi][0];
      fS -= ts[tsi][1];
    }
    // -----------------------------------------------------
    if(fS <= 0){
      printf("Takahashi\n");
      return 0;
    }
    tsi = -1;
    rep(i,0,ts.size()) if(
        !vis[i] &&
        ts[i][1] &&
        (tsi == -1 || fs(i) > fs(tsi) || (fs(i) == fs(tsi) && ts[i][2] == 'B'))
        ) tsi = i;
    if(tsi == -1){
      printf("Takahashi\n");
      return 0;
    }
    if(ts[tsi][2] == 'B'){
      fS -= 1;
      ts[tsi][1] --;
    }else if(ts[tsi][2] == 'W'){
      vis[tsi] = true;
      fT -= ts[tsi][0];
      fS -= ts[tsi][1];
    }
  }
  return 0;
}

// n * n 正方形
// 可能 空/1个白/1个黑

提出情報

提出日時
問題 H - Advance or Eat
ユーザ cromarmot
言語 C++ (GCC 9.2.1)
得点 0
コード長 1916 Byte
結果 WA
実行時間 13 ms
メモリ 3640 KiB

コンパイルエラー

./Main.cpp: In function ‘int read()’:
./Main.cpp:5:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
    5 | int read(){int r;scanf("%d",&r);return r;} // read
      |                  ~~~~~^~~~~~~~~
./Main.cpp: In function ‘int main()’:
./Main.cpp:10:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   10 |   rep(i,0,n) scanf("%s",s[i]);
      |              ~~~~~^~~~~~~~~~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 600
結果
AC × 3
AC × 92
WA × 17
セット名 テストケース
Sample example0.txt, example1.txt, example2.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, 059.txt, 060.txt, 061.txt, 062.txt, 063.txt, 064.txt, 065.txt, 066.txt, 067.txt, 068.txt, 069.txt, 070.txt, 071.txt, 072.txt, 073.txt, 074.txt, 075.txt, 076.txt, 077.txt, 078.txt, 079.txt, 080.txt, 081.txt, 082.txt, 083.txt, 084.txt, 085.txt, 086.txt, 087.txt, 088.txt, 089.txt, 090.txt, 091.txt, 092.txt, 093.txt, 094.txt, 095.txt, 096.txt, 097.txt, 098.txt, 099.txt, 100.txt, 101.txt, 102.txt, 103.txt, 104.txt, 105.txt, example0.txt, example1.txt, example2.txt
ケース名 結果 実行時間 メモリ
000.txt AC 13 ms 3444 KiB
001.txt AC 2 ms 3636 KiB
002.txt AC 2 ms 3616 KiB
003.txt AC 2 ms 3588 KiB
004.txt AC 2 ms 3620 KiB
005.txt AC 2 ms 3620 KiB
006.txt AC 3 ms 3572 KiB
007.txt WA 2 ms 3568 KiB
008.txt AC 2 ms 3436 KiB
009.txt AC 2 ms 3544 KiB
010.txt AC 3 ms 3428 KiB
011.txt WA 3 ms 3584 KiB
012.txt WA 2 ms 3612 KiB
013.txt AC 2 ms 3628 KiB
014.txt WA 2 ms 3636 KiB
015.txt WA 2 ms 3640 KiB
016.txt WA 2 ms 3512 KiB
017.txt WA 2 ms 3616 KiB
018.txt AC 2 ms 3572 KiB
019.txt AC 2 ms 3580 KiB
020.txt WA 2 ms 3496 KiB
021.txt AC 2 ms 3544 KiB
022.txt WA 1 ms 3624 KiB
023.txt WA 2 ms 3548 KiB
024.txt AC 3 ms 3620 KiB
025.txt WA 2 ms 3436 KiB
026.txt WA 3 ms 3640 KiB
027.txt WA 2 ms 3572 KiB
028.txt AC 2 ms 3628 KiB
029.txt AC 2 ms 3540 KiB
030.txt AC 3 ms 3612 KiB
031.txt AC 4 ms 3632 KiB
032.txt AC 4 ms 3572 KiB
033.txt AC 2 ms 3624 KiB
034.txt AC 2 ms 3584 KiB
035.txt AC 3 ms 3616 KiB
036.txt AC 2 ms 3564 KiB
037.txt AC 2 ms 3612 KiB
038.txt AC 2 ms 3620 KiB
039.txt AC 2 ms 3632 KiB
040.txt AC 2 ms 3484 KiB
041.txt AC 3 ms 3516 KiB
042.txt AC 1 ms 3632 KiB
043.txt AC 2 ms 3620 KiB
044.txt AC 2 ms 3584 KiB
045.txt AC 2 ms 3636 KiB
046.txt AC 2 ms 3572 KiB
047.txt AC 2 ms 3436 KiB
048.txt AC 3 ms 3632 KiB
049.txt AC 2 ms 3632 KiB
050.txt AC 2 ms 3516 KiB
051.txt AC 1 ms 3516 KiB
052.txt AC 2 ms 3484 KiB
053.txt AC 3 ms 3620 KiB
054.txt AC 2 ms 3548 KiB
055.txt AC 2 ms 3580 KiB
056.txt AC 3 ms 3632 KiB
057.txt WA 2 ms 3628 KiB
058.txt AC 2 ms 3636 KiB
059.txt AC 2 ms 3432 KiB
060.txt AC 2 ms 3512 KiB
061.txt AC 2 ms 3584 KiB
062.txt AC 2 ms 3436 KiB
063.txt AC 8 ms 3620 KiB
064.txt AC 2 ms 3564 KiB
065.txt AC 2 ms 3572 KiB
066.txt WA 2 ms 3584 KiB
067.txt AC 2 ms 3624 KiB
068.txt AC 2 ms 3616 KiB
069.txt AC 2 ms 3616 KiB
070.txt AC 2 ms 3484 KiB
071.txt AC 3 ms 3512 KiB
072.txt AC 2 ms 3636 KiB
073.txt AC 3 ms 3620 KiB
074.txt AC 2 ms 3568 KiB
075.txt AC 2 ms 3516 KiB
076.txt AC 2 ms 3436 KiB
077.txt AC 3 ms 3636 KiB
078.txt AC 2 ms 3432 KiB
079.txt AC 2 ms 3576 KiB
080.txt AC 2 ms 3488 KiB
081.txt AC 6 ms 3584 KiB
082.txt AC 2 ms 3584 KiB
083.txt AC 2 ms 3588 KiB
084.txt AC 2 ms 3488 KiB
085.txt AC 2 ms 3588 KiB
086.txt AC 2 ms 3484 KiB
087.txt AC 2 ms 3620 KiB
088.txt AC 2 ms 3484 KiB
089.txt AC 2 ms 3432 KiB
090.txt AC 2 ms 3584 KiB
091.txt AC 2 ms 3620 KiB
092.txt AC 2 ms 3636 KiB
093.txt WA 2 ms 3636 KiB
094.txt AC 2 ms 3624 KiB
095.txt AC 2 ms 3620 KiB
096.txt AC 4 ms 3616 KiB
097.txt WA 2 ms 3616 KiB
098.txt AC 2 ms 3572 KiB
099.txt AC 2 ms 3552 KiB
100.txt AC 2 ms 3512 KiB
101.txt AC 2 ms 3516 KiB
102.txt AC 2 ms 3572 KiB
103.txt AC 2 ms 3616 KiB
104.txt AC 2 ms 3488 KiB
105.txt AC 2 ms 3620 KiB
example0.txt AC 3 ms 3620 KiB
example1.txt AC 2 ms 3432 KiB
example2.txt AC 2 ms 3632 KiB