Atcoder Tenka1 Programmer Contest C C - 4/N

http://tenka1-2017.contest.atcoder.jp/tasks/tenka1_2017_c

我怀疑我是不是智障。。。。

本来一直的想法是能不能构造出答案,把N按奇偶分,偶数好办,但是奇数死活想不出,结果想暴力,显然三种循环是过不了的。

那就直接二重循环暴力,求第三数不就行了啊!!!!哇靠,

这里唯一要注意的是N可能很大,开成long long吧,反正刚开始我int没过,把所有变量都改成long long 就好了。

 

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 typedef long long ll;
 7 int main()
 8 {
 9     ll N;
10     while (scanf("%d", &N) == 1)
11     {
12         for(ll h=1;h<=3500;h++)
13         for(ll n=1;n<=3500;n++){
14             ll t1=N*h*n;
15             ll t2=4*n*h-N*(h+n);
16             if((t2>0)&&(t1%t2==0)){
17                 cout<<h<<" "<<n<<" "<<t1/t2<<endl;
18                 return 0;
19             }
20         }
21     }
22     return 0;
23 }

官方题解:

posted @ 2017-10-01 18:10  ╰追憶似水年華ぃ╮  阅读(197)  评论(0编辑  收藏  举报