おはやし日記

テーマ……バイク←プログラミング←旅

ABC165, 166反省会

ABC165

ダメでした

A

A - We Love Golf

提出

AC

#include <stdio.h>
int main(){
  int K, A, B;
  scanf("%d%d%d",&K,&A,&B);
  int bl = 0;
  for(int i=A; i<=B; i++){
    if((i%K)==0)bl++;
  }
  if(bl){
    printf("OK\n");
  }else{
    printf("NG\n");
  }
}

B

B - 1%

提出

long long型を使えば良かったのにintにしていて(下の変数yokin)オーバーフローし、提出してみる前に諦めてしまった

遅れてAC

#include <stdio.h>
int main(){
  long long X;scanf("%lld",&X);
  int year = 0;
  long long yokin = 100;
  while(yokin<X){
    yokin += yokin/100;
    year++;
  }
  printf("%d\n", year);
  return 0;
}

C

C - Many Requirements

わがんね。おしまい。

Eテレでアニメ「君の膵臓をたべたい」をやっていたので観ました。

ABC166

今日こそは頑張ろうと思いました。

A

A - A?C

提出

AC

#include <stdio.h>
int main(){
  char s[100] = {};
  scanf("%s", s);
  if(s[1]=='B'){
    printf("ARC\n");
  }else {
    printf("ABC\n");
  }
}

文字を丸ごとstrcmpで比較しようかと思ったんだけど# include <string.h>やるのめんどかったので2文字目だけを判定しました

B

B - Trick or Treat

提出

1ミスの後AC

#include <stdio.h>
int main(){
  int N, K;
  int d, buf;
  scanf("%d%d", &N,&K);
  int sunuke_kasi[110] = {};
  for(int i=0; i<K; i++){
    //お菓子ごとに
    scanf("%d", &d);
    for(int j=0; j<d; j++){
      scanf("%d", &buf);
      sunuke_kasi[buf]++;
    }
  }

  int count = 0;
  for(int i=1; i<=N; i++){
    if(sunuke_kasi[i] == 0)count++;
  }

  printf("%d\n", count);
}

C

C - Peaks

提出

最初C言語でやった。論理的にはあってるはずだけどなんかよくわからんエラーを吐いた。

WA Submission #12764426 - AtCoder Beginner Contest 166

c++に切り替えてsetを使って実装

AC Submission #12769712 - AtCoder Beginner Contest 166

c++は触ってはいたけど、実戦でいきなりsetの配列を使えたのはえらい!!!

D

数学かと思ったら、ちゃんと範囲を絞り込めば全探索できたのか…………

おしまい。

プライバシーポリシー ・お問い合わせはこちら