0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ABC053 ARC068 の問題を解いてみました

Last updated at Posted at 2024-01-01

A問題

1200 未満かを if文で判定しましょう。

#include <bits/stdc++.h>
using namespace std;
//Created by karaju.

int main(void){
  int x;
  cin >> x;
  if(x < 1200){ //1200未満なら
    cout << "ABC" << endl;
  }
  else{
    cout << "ARC" << endl;
  }
  
}

B問題

最も左にある A の場所と、最も右にある Z の場所を調べることによって、解くことができます。

#include <bits/stdc++.h>
using namespace std;
//Created by karaju.

int main(void){
  string s;
  cin >> s;
  int a = s.size(), z = 0;
  
  for(int i = 0; i < s.size(); i++){
    if(s[i] == 'A'){ 
      a = min(a, i); //左の A の位置を記録
    }
    else if(s[i] == 'Z'){ 
      z = max(z, i); //右の Z の位置を記録
    }
  }
  cout << z - a + 1 << endl;
}

C問題

6点 と 5点 を交互に獲得するのが最善手です。
繰り返しで実装すると、 TLE になってしまいます。

四則演算で、最小の操作回数を求めましょう。 (11 = 5 + 6)

#include <bits/stdc++.h>
using namespace std;
//Created by karaju.

int main(void){
  long long x;
  cin >> x;
  long long score = 0, ans = 0;
  
  ans = x / 11 * 2;  //この計算で、とりあえず目標点数の少し前までの手数を計算できる
  score = ans / 2 * 11;
  if(x - score > 6){
    ans += 2;
  }
  else if(x - score <= 6 && x - score != 0){
    ans += 1;
  }
  
  cout << ans << endl;
}

D問題

まず、取り除くべきカードは、その整数が2枚以上のカードに書かれているものです。

消せるカードの数は必ず偶数枚になるので、消す必要のあるカードの枚数が奇数のときは、消す枚数は $消す必要のあるカード + 1$ となります。

なので、$全体のカードの枚数 - 消す枚数$ で答えを求められます。

#include <bits/stdc++.h>
using namespace std;
//Created by karaju.

int main(void){
  int n;
  cin >> n;
  set<int> card; //どんなかーどがあるかをきろくしておく
  int ans = 0;
  for(int i = 0; i < n; i++){
    int a;
    cin >> a;
    if(card.find(a) != card.end()){
      ans++; //重複のあるカードの数を数えておく
    }
    card.insert(a);
  }
  if(ans % 2 == 1) ans++;
  cout << n - ans << endl;
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?