そーすにっき

なんかいろいろのせておくばしょ

AOJ2330

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2330

既視感ある問題。偽物の金貨を探すのが有名な気がする。

解法:O(logN)

素数が等しい(もしくは差が1以下の)3個の集合に分けて2つを天秤にかける操作を繰り返すことで求まるので

N<=3^nとなる最小のnを探して終わり

#include <iostream>
#include <cmath>
using namespace std;
 
int main(){
 int n;
 cin >> n;
 int r=0;
 while(pow(3,r)<n)r++;
 cout << r << endl;
 return 0;
}