AtCoder Grand Contest 016

Submission #1575974

Source codeソースコード

void main(){
  import std.stdio, std.string, std.conv, std.algorithm;
  import std.range;

  auto str=readln.chomp.to!(char[]);

  int[char] cnt;
  foreach(c; str){
    if(!(c in cnt)) cnt[c]=1;
  }

  bool g(char[] s){
    char tg=s[0];
    bool ok=true;
    foreach(c; s) ok&=(c==tg);
    return ok;
  }

  int f(char c, char[] s){
    int ret=0;
    while(!g(s)){
      foreach(i; 0..(s.length-1)){
        if(s[i+1]==c) s[i]=c;
      }
      /* if(s.back!=c) */ s.popBack;
      ret++;
    }
    return ret;
  }

  int mi=100;
  foreach(c, v; cnt){
    mi=min(mi, f(c, str.dup));
  }

  writeln(mi);
}

void rd(T...)(ref T x){
  import std.stdio, std.string, std.conv;
  auto l=readln.split;
  foreach(i, ref e; x){
    e=l[i].to!(typeof(e));
  }
}

Submission

Task問題 A - Shrinking
User nameユーザ名 ikd
Created time投稿日時
Language言語 D (DMD64 v2.070.1)
Status状態 AC
Score得点 300
Source lengthソースコード長 796 Byte
File nameファイル名
Exec time実行時間 1 ms
Memory usageメモリ使用量 256 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - 0_00.txt,0_01.txt,0_02.txt,0_03.txt
All 300 / 300 0_00.txt,0_01.txt,0_02.txt,0_03.txt,1_00.txt,1_01.txt,1_02.txt,1_03.txt,1_04.txt,1_05.txt,1_06.txt,1_07.txt,1_08.txt,1_09.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
0_03.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 256 KB
1_03.txt AC 1 ms 256 KB
1_04.txt AC 1 ms 256 KB
1_05.txt AC 1 ms 256 KB
1_06.txt AC 1 ms 256 KB
1_07.txt AC 1 ms 256 KB
1_08.txt AC 1 ms 256 KB
1_09.txt AC 1 ms 256 KB