51nod 1001

来源:互联网 发布:Python 加密算法 编辑:程序博客网 时间:2024/04/29 04:04
貌似这道题需要用二分  但是我直接暴力也过了  刚开始超时 后来我把标志变量改成了bool  并且加上了小数据重新循环的限制条件就过了  自己也是挺
#include <queue>#include <stdio.h>#include <iostream>#include <stdlib.h>#include <cmath>#include<algorithm>using namespace std;int main(){    int num,n;    while(cin>>num>>n){       bool temp=false;       int Array[n];       for(int i = 0 ;i < n;i++){       cin>>Array[i];       }       sort(Array,Array+n);       for(int i = 0; i < n ;i++)       {           if(Array[i]+Array[n-1]<num)            continue;           for(int j = i+1;j < n&&Array[i]+Array[j]<=num;j++)           {               if(Array[i]+Array[j]==num)               {                   temp=true;                  cout<<Array[i]<<" "<<Array[j]<<endl;               }           }       }    if(!temp)        cout<<"No Solution"<<endl;    }    return 0;}
1 0
原创粉丝点击