寝癖頭の解法

小学生の目線から、勉強中の覚え書きを投稿、更新していきます。

JOI 2021/2022 一次予選(第2回) 競技結果

JOI 2021/2022 一次予選(第2回)から、その競技結果です。
日本情報オリンピック - Wikipedia
>日本情報オリンピック(Japanese Olympiad in Infomatics 通称JOI)は、日本の中高生の情報科学的な能力の育成と、国際情報オリンピックに派遣する日本代表選手の選抜を目的とした大会である。
>1994〜1997年に実施され、中断の後2005年から科学技術振興機構の助成を受けて再開されている。
>科学オリンピックの1つである。
www.ioi-jp.org
>日本情報オリンピックは、数理情報科学の能力を競う競技会です。
>競技では、与えられた課題に対する性能の良いアルゴリズムを設計し、さらに、それをプログラムとして適切に実装することが求められます。

僕が作成、提出したコードは、以下のとおりです。

JOI 2021/2022 一次予選(第2回)
・問題1 立方体

JOI 2021/2022 一次予選(第2回) 問題1

/*
JOI 2021/2022 一次予選(第2回)
問題1 立方体
https://www.ioi-jp.org/joi/2021/2022-yo1/2022-yo1b-t1.html
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
  int x;
  cin>>x;
  cout<<x*x*x<<endl;
  return 0;
}
・問題2 短針

JOI 2021/2022 一次予選(第2回) 問題2

/*
JOI 2021/2022 一次予選(第2回)
問題2 短針
https://www.ioi-jp.org/joi/2021/2022-yo1/2022-yo1b-t2.html
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
  int a,b;
  cin>>a>>b;
  int c=a+b;
  if(c>12){
    if(c%12==0){
      cout<<12<<endl;
    }else{
      cout<<c%12<<endl;
    }
  }else{
    cout<<c<<endl;
  }
  return 0;
}
・問題3 次の文字

JOI 2021/2022 一次予選(第2回) 問題3

/*
JOI 2021/2022 一次予選(第2回)
問題3 次の文字
https://www.ioi-jp.org/joi/2021/2022-yo1/2022-yo1b-t3.html
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
  int n;
  cin>>n;
  string s;
  cin>>s;
  for(int i=0;i<n-1;i++){
    if(s[i+1]=='J'){
      cout<<s[i]<<endl;
    }
  }
  return 0;
}
・問題4 希少な数

JOI 2021/2022 一次予選(第2回) 問題4

/*
JOI 2021/2022 一次予選(第2回)
問題4 希少な数
https://www.ioi-jp.org/joi/2021/2022-yo1/2022-yo1b-t4.html
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
  int n;
  cin>>n;
  vector<int> a(n),b;
  for(int i=0;i<n;i++){
    cin>>a[i];
    b.push_back(a[i]);
  }
  sort(a.begin(),a.end());
  sort(b.begin(),b.end());
  b.erase(unique(b.begin(),b.end()),b.end());
  vector<pair<int,int>> v;
  for(int i=0;i<b.size();i++){
    v.push_back({count(a.begin(),a.end(),b[i]),b[i]});
  }
  sort(v.begin(),v.end());
  cout<<v[0].second<<endl;
  return 0;
}
JOI 2021/2022 一次予選(第2回) 競技結果

f:id:neguse_atama:20211019071231p:plain
一次予選の第1回目の結果で、二次予選の出場資格はあるのだけれど、やってみました、やりたかったから。
めっちゃ楽しかったです!
来月にも第3回目があるみたいなので、もちろん参加したいと思います!
で、小学生向けだと「ビーバーコンテスト (Bebras Contest) 」って言う、謎のコンテストもあるらしいです。
これだと個人の申し込みはできなくて、学校ごとに申し込みしなければならないらしくて...
まぁ、僕が通っている小学校だったら、絶対に無理だな!