2011/10/15

Codeforces Beta Round #89(Div.2) & #90 Sources

Codeforces Beta Round #89(Div.2) & #90, My sources.
[Round89,A (Accepted)]
#include<stdio.h>
#include<ctype.h>
#include<string.h>

int main(void){
  char str[128];
  int i,j,k,l;
  scanf("%s",str);
  l=strlen(str);
  for(i=0;i<l;i++){
    str[i]=tolower(str[i]);
    switch(str[i]){
    case 'a':
    case 'o':
    case 'y':
    case 'e':
    case 'u':
    case 'i':
      break;
    default:
      putchar('.');
      putchar(str[i]);
    }
  }
  putchar('\n');
  return 0;
}

[Round89,B (Accepted)]
#include<stdio.h>

int main(void){
  short n;
  scanf("%hd",&n);
  switch(n){
  case 2:
    puts("    0");
    puts("  0 1 0");
    puts("0 1 2 1 0");
    puts("  0 1 0");
    puts("    0");
    break;
  case 3:
    puts("      0");
    puts("    0 1 0");
    puts("  0 1 2 1 0");
    puts("0 1 2 3 2 1 0");
    puts("  0 1 2 1 0");
    puts("    0 1 0");
    puts("      0");
    break;
  case 4:
    puts("        0");
    puts("      0 1 0");
    puts("    0 1 2 1 0");
    puts("  0 1 2 3 2 1 0");
    puts("0 1 2 3 4 3 2 1 0");
    puts("  0 1 2 3 2 1 0");
    puts("    0 1 2 1 0");
    puts("      0 1 0");
    puts("        0");
    break;
  case 5:
    puts("          0");
    puts("        0 1 0");
    puts("      0 1 2 1 0");
    puts("    0 1 2 3 2 1 0");
    puts("  0 1 2 3 4 3 2 1 0");
    puts("0 1 2 3 4 5 4 3 2 1 0");
    puts("  0 1 2 3 4 3 2 1 0");
    puts("    0 1 2 3 2 1 0");
    puts("      0 1 2 1 0");
    puts("        0 1 0");
    puts("          0");
    break;
  case 6:
    puts("            0");
    puts("          0 1 0");
    puts("        0 1 2 1 0");
    puts("      0 1 2 3 2 1 0");
    puts("    0 1 2 3 4 3 2 1 0");
    puts("  0 1 2 3 4 5 4 3 2 1 0");
    puts("0 1 2 3 4 5 6 5 4 3 2 1 0");
    puts("  0 1 2 3 4 5 4 3 2 1 0");
    puts("    0 1 2 3 4 3 2 1 0");
    puts("      0 1 2 3 2 1 0");
    puts("        0 1 2 1 0");
    puts("          0 1 0");
    puts("            0");
    break;
  case 7:
    puts("              0");
    puts("            0 1 0");
    puts("          0 1 2 1 0");
    puts("        0 1 2 3 2 1 0");
    puts("      0 1 2 3 4 3 2 1 0");
    puts("    0 1 2 3 4 5 4 3 2 1 0");
    puts("  0 1 2 3 4 5 6 5 4 3 2 1 0");
    puts("0 1 2 3 4 5 6 7 6 5 4 3 2 1 0");
    puts("  0 1 2 3 4 5 6 5 4 3 2 1 0");
    puts("    0 1 2 3 4 5 4 3 2 1 0");
    puts("      0 1 2 3 4 3 2 1 0");
    puts("        0 1 2 3 2 1 0");
    puts("          0 1 2 1 0");
    puts("            0 1 0");
    puts("              0");
    break;
  case 8:
    puts("                0");
    puts("              0 1 0");
    puts("            0 1 2 1 0");
    puts("          0 1 2 3 2 1 0");
    puts("        0 1 2 3 4 3 2 1 0");
    puts("      0 1 2 3 4 5 4 3 2 1 0");
    puts("    0 1 2 3 4 5 6 5 4 3 2 1 0");
    puts("  0 1 2 3 4 5 6 7 6 5 4 3 2 1 0");
    puts("0 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0");
    puts("  0 1 2 3 4 5 6 7 6 5 4 3 2 1 0");
    puts("    0 1 2 3 4 5 6 5 4 3 2 1 0");
    puts("      0 1 2 3 4 5 4 3 2 1 0");
    puts("        0 1 2 3 4 3 2 1 0");
    puts("          0 1 2 3 2 1 0");
    puts("            0 1 2 1 0");
    puts("              0 1 0");
    puts("                0");
    break;
  case 9:
    puts("                  0");
    puts("                0 1 0");
    puts("              0 1 2 1 0");
    puts("            0 1 2 3 2 1 0");
    puts("          0 1 2 3 4 3 2 1 0");
    puts("        0 1 2 3 4 5 4 3 2 1 0");
    puts("      0 1 2 3 4 5 6 5 4 3 2 1 0");
    puts("    0 1 2 3 4 5 6 7 6 5 4 3 2 1 0");
    puts("  0 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0");
    puts("0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0");
    puts("  0 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0");
    puts("    0 1 2 3 4 5 6 7 6 5 4 3 2 1 0");
    puts("      0 1 2 3 4 5 6 5 4 3 2 1 0");
    puts("        0 1 2 3 4 5 4 3 2 1 0");
    puts("          0 1 2 3 4 3 2 1 0");
    puts("            0 1 2 3 2 1 0");
    puts("              0 1 2 1 0");
    puts("                0 1 0");
    puts("                  0");
    break;
  }
  return 0;
}

[Round89,C (Accepted after contest)]
#include<stdio.h>
#include<string.h>

int main(void){
  char str[10001],tmp[10001],ans[10001];
  int n,money,min=1000000;
  int i,j,k,l,s,t;
  
  scanf("%d %d%*c",&n,&k);
  scanf("%s",str);
  for(i=0;i<=9;i++){
    l=0;
    for(j=0;j<n;j++) if(str[j]=='0'+i) l++;
    if(l>=k){
      strcpy(ans,str);
      min=0;
      break;
    }

    money=0;
    strcpy(tmp,str);
    for(j=1;j<=9;j++){
      for(s=0;s<n;s++){
if(tmp[s]-'0'-i==j){
 tmp[s]='0'+i;
 l++;
 money+=j;
 if(l>=k) break;
}
      }
      if(l>=k) break;
      for(s=n-1;s>=0;s--){
if(i-(tmp[s]-'0')==j){
 tmp[s]='0'+i;
 l++;
 money+=j;
 if(l>=k) break;
}
      }
      if(l>=k) break;
    }
    
    if(money<min){
      strcpy(ans,tmp);
      min=money;
    }
  }
  printf("%d\n",min);
  puts(ans);
  return 0;
}

      
[Round90,A (Accepted)]
#include<stdio.h>
#include<string.h>

int gcd(int a,int b){
  if(b==0) return a;
  return gcd(b,a%b);
}

int main(void){
  int a,b,n,tmp,i;
  scanf("%d %d %d",&a,&b,&n);
  for(i=0;;i++){
    if(i%2) tmp=gcd(n,b);
    else tmp=gcd(n,a);
    if(tmp>n){
      printf("%d\n",1-i%2);
      break;
    }
    n-=tmp;
  }
  return 0;
}

0 件のコメント:

コメントを投稿