AtCoder Beginner Contest 275を振り返る。


  • 結果
    無念の1完。
    2完すらできず、残念。悔しい。きつつい

  • Rate変動
    487 ⇨ 458


  • A問題 2分23秒でAC

最も長い橋の位置を答える問題。

特に手が止まることもなく、一瞬でAC。

import java.util.*;

public class Main {
   public static void main(String[] args) {
       // 入力読み込み
       Scanner sc = new Scanner(System.in);
       int n = sc.nextInt();
       int max = 0;
       int t = 0;
       for (int i = 0; i < n; i++) {
           int c = sc.nextInt();
           if(max < c){
               max = c;
               t = i+1;
           }
       }

       System.out.println(t);
       sc.close();
   }
}
​
  • B問題 ACできず。

とても大きな桁(10^18)のABC -DEFの計算結果をmod=998244353で割ったあまり答える問題。
式の分解自体はわかったのに、最後、modを足す必要があることに気づかず、あれ??あれれ??となって、わからず死亡。。
悔しいなぁ。。ちなみに4分くらいで初回の解答できたならR500くらい。

import java.util.*;

public class Main {
   public static void main(String[] args) {
       // 入力読み込み
       Scanner sc = new Scanner(System.in);
       long mod = 998244353;
       long A = sc.nextLong() % mod;
       long B = sc.nextLong() % mod;
       long C = sc.nextLong() % mod;
       long D = sc.nextLong() % mod;
       long E = sc.nextLong() % mod;
       long F = sc.nextLong() % mod;

       A = (A * B) % mod;
       A = (A * C) % mod;
       D = (D * E) % mod;
       D = (D * F) % mod;

       System.out.println((A+mod-D)%mod);
       sc.close();
   }
}
​
  • C問題 ACできず。。

#が正方形の配置になっている箇所を探して数え上げる問題
B問題がなぜうまくいかないのかわからず、残り40分くらいからC問題やってた。
正方形の配置になっているかをどのように判定するかが味噌。1辺の長さとその他3辺の長さが一致していれば正方形とみなす方針で着手したが、辺の選び方をうまく指定できなかったために、ACできず。(と思われる。)
もうちょっとでACできそう。解けていれば、R700-600くらい。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        // 入力読み込み
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] A = new int[N];
        int[] T = new int[2*N+1];

        for (int i = 0; i < N; i++) {
            A[i] = sc.nextInt();
        }
        for (int i = 0; i < N; i++) {
            T[2*i+1] =T[A[i]-1]+1;
            T[2*i+2] =T[A[i]-1]+1;
        }
        for (int i = 0; i < 2*N+1; i++) {
            System.out.println(T[i]);
        }
        sc.close();
    }
}

//    Set<Long> list = new HashSet<>();
  • D問題 以下、着手できず

  • E問題

  • F問題

  • G問題

  • EX問題


思ったとおりの計算結果ならなかった時、修正する能力が必要。
競プロチックな問題はそう種類がないので、早く慣れて、引き出しを増やすようにしたい。


この記事が参加している募集

#振り返りnote

85,308件

この記事が気に入ったらサポートをしてみませんか?