HIR180's diary

ICPC World Finals 2022 を集大成に

2013-01-16

2013 JJMO 予選参加記 22:40

参加記かく。

~~~~~ 1/14(月) ~~~~~

9:50 家を出る。車で移動

所沢あたりで雪が降り始めた

!!激しい降雪につき練馬付近で緊急下車!!

高田馬場に移動。ここで早稲田大学へ歩いていこうという致命的なミスをする

途中で親切な人に東西線にのるといいですよ、とアドバイスを受けた->早稲田駅へ移動

このときすでに12:50...

ここでJMOする 雪が降り続くなか泣きそうになって走り回ってました

こうして13:30頃に会場入り。寒くてぬれてて最悪でした><

問題:

1. やるだけ。8/3

2. 素因数分解するとすぐに11,13,7,14,5,10,15,20が入ることが分かる。

後の二つは18,12 つまり5 7 10 11 12 13 14 15 18 20。

3. 全然分からず混乱。でも円周角の比を考えるだけだった。200/3°

4. 中央の5点を考えればよい。結局8通り調べるだけ。12通り

5. 裏返し相似。13:5

~~~~~ このとき残り1時間!!! ~~~~~

5完はヤバイ。このままでは確実に落ちる。

ここからスイッチが入る。

6. (100-a)(100-b)(100-c)の形にするとabc≡1(mod 100)を満たせばよいとわかる。

結果93*89*87=720099なので 269

7. おのおのの直線を見ていき、それを赤にする、という方針で解く。

選んだ2点が偶数辺分離れていたときは47通り。

奇数辺分だと48通り。ただし、2点間の最も離れている対角線は47通りではなく49通り。(正8角形などで考えるとわかる)

すなわち48*100*25+47*100*24+49*50=235250.

8~11. 解いてない

12. たぶん2個の場合に帰着されるだろーと思って4π-1とかいた。

~~~~~ 終了 ~~~~~

絶望(どう頑張っても7完... 落ちた...)

答え合わせphase

同級生がみんなすごくて焦る。

7もみんなと違うし悲しみ。

こうして新幹線で家に帰りました。

(地元と東京の天気swapしてほしかった。何で地元は雪降ってないんだ(憤怒))

(後日談)

7がプログラミングによって出た答えと一致した。12は開成の人以外もだいたいみんな4π-1と書いてて驚いた。

だから12は4π-1でなかったらボーダー自体が-1しそう。

ミスがなければ通ったかな? ボーダーは6であることを祈ってます。

(予選でミスのせいで落ちるのは悲しすぎるので...)

2013 JJMO 予選 7 01:09

#include 
#include 
#include 
#include 
using namespace std;
#define EPS 0.0000001
pair<double,double>ve[105][105];
bool han(pair<double,double> a,pair<double,double> b){
if(abs(a.first*b.first+a.second*b.second)return true;
}else{
return false;
}
}
int main(){
int ans=0;
for(int i=0;i<100;i++){
for(int j=i+1;j<100;j++){
ve[i][j].first=cos(j*3.6*3.141592653589/180.0)-cos(i*3.6*3.141592653589/180.0);
ve[i][j].second=sin(j*3.6*3.141592653589/180.0)-sin(i*3.6*3.141592653589/180.0);
}
}
for(int i=0;i<100;i++){
for(int j=i+1;j<100;j++){
bool used[105]={};
used[i]=true; used[j]=true;
for(int k=0;k<100;k++){
for(int g=k+1;g<100;g++){
if(!used[k] && !used[g]){
if(han(ve[i][j],ve[k][g])){
ans++;
}
}
}
}
}
}
printf("%d%c",ans,10);
}

出力 235250(自分の解答と一致した)

合っているといいな〜