2013-07-30 20:35 388人阅读  
收藏 举报
http://acm.hdu.edu.cn/showproblem.php?pid=4627
The Unsolvable Problem
Time Limit: 2000/1000 
MS (Java/Others)    Memory Limit: 32768/32768 K 
(Java/Others)
Total Submission(s): 230    Accepted 
Submission(s): 136
Problem Description
There are many unsolvable problem in the world.It could be 
about one or about zero.But this time it is about bigger number.
Given an 
integer n(2 <= n <= 109).We should find a pair 
of positive integer a, b so that a + b = n and [a, b] 
is as large as possible. [a, b] denote the least common multiplier of a, 
b.
 
 
Input
The first line contains integer T(1<= T<= 
10000),denote the number of the test cases.
For each test cases,the first 
line contains an integer n.
 
 
Output
For each test cases,print the maximum 
[a,b] in a line.
标准签到题,先特判n==2的情况,否则若n为奇数,则答案显然是n/2 
和 n/2+1,若n为偶数设n=2*k,若k为偶数,则答案为k-1,k+1,否则答案为k-2,k+2。
  
    - #include <iostream>  
 
    - #include <string.h>  
 
    - #include <stdio.h>  
 
    - #include <algorithm>  
 
    - #define ll long long  
 
    - using namespace std;  
 
    - int main()  
 
    - {  
 
    -       
 
    -     ll n,ncase;  
 
    -     cin>>ncase;  
 
    -     while(ncase--)  
 
    -     {  
 
    -         cin>>n;  
 
    -         if(n==2)  
 
    -         cout<<1<<endl;  
 
    -         else  
 
    -         {  
 
    -             if(n%2)  
 
    -             cout<<(n/2)*(n-n/2)<<endl;  
 
    -             else  
 
    -             {  
 
    -                 if((n/2)%2==0)  
 
    -                 cout<<(n/2-1)*(n/2+1)<<endl;  
 
    -                 else  
 
    -                 cout<<(n/2-2)*(n/2+2)<<endl;  
 
    -             }  
 
    -         }  
 
    -     }  
 
    -     return 0;  
 
    - }
 
    - 一开始用暴力,唉,挂了,但是为什么是这样呢,想了半天终于明白了。
 
 2013多校联合3 G The Unsolvable Problem(hdu 4627),布布扣,bubuko.com
2013多校联合3 G The Unsolvable Problem(hdu 4627)
原文:http://www.cnblogs.com/zhaoxinshanwei/p/3619245.html