2012 - Space Coconut Grab
問題概要
宇宙ヤシガニを捕獲するために、ある条件を満たす平面を求めよう。
コード
#include<iostream> #include<cmath> using namespace std; int main(){ while(true){ int min_m = 100000000; int e; cin >> e; if( e == 0 ) break; for(int z = 0; z <= 100; ++z){ for(int y = 0; y <= 1000; ++y){ int x = e - (int)pow((double)z,3) - (int)pow((double)y,2); if( x >= 0 ) min_m = min( min_m, x + y + z ); } } cout << min_m << endl; } return 0; }
解法
z,y,xの順で全探索するとワンセット最悪100000で計算可能。枝狩りを加えるともっといいかもしれないし、一発で出せそうな気もする。