読者です 読者をやめる 読者になる 読者になる

JAPLJ Contest

結局1問(A)しか解けなかった・・・。正直B,Cは部分点とりにいけば良かったと思っている。高校生が作った問題だとは思えないほどに難しいもの。id:JAPLJ君恐ろしい。

てか、Aの問題の意味を理解するのに2時間近く掛かったでござるの巻。

JAPLJ[B]も含めた結果:58位/69人(ひどい)

A: Anemone

与えられた関数のグラフでの交点?的なものの個数で探す。入力0がコーナーケース。

#include <iostream>
using namespace std;

int main(){
	int n;
	cin >> n;
		
	int zero[32];
	zero[1] = 2;
	for(int i=2;i<32;i++){
		zero[i] = zero[i-1]*2-1;
	}
	
	for(int i=1;i<32;i++){
		/* 成長度 0 */
		if( zero[i] == n ){
			cout << i << " " << "0.0" << endl;
			return 0;
		}
		/* 成長度 0<k<1 */
		if( (1<<i) == n ){
			cout << i << " " << "0.5" << endl;
			return 0;
		}

		/* 成長度 1 */
		if( 1<<(i-1) == n ){
			cout << i << " " << "1.0" << endl;
			return 0;
		}
	}
	/* 0の時例外処理 */
	if(n==0)cout << "1 1.1" << endl;
	else cout << -1 << endl;
}

B Banksia

トーナメント表。頭混乱したので飛ばした。

C Cosmos

分かりそうで分からない。バックトラック的解法しか思いつかない。部分点しかもらえなさそうな。

D Dianthus

タイトルがdiarrheaと似ていたから問題画像が視覚的に不気味だったので飛ばした。

E Edohigan

見るからに幾何っぽかったので飛ばした。

F: Flowers

時間かけても10点レベルの解法くらいしか思いつかなそうだったので飛ばし。