记录编号 112108 评测结果 AAAAAAAA
题目名称 等差数列 最终得分 100
用户昵称 Gravatarslyrabbit 是否通过 通过
代码语言 C++ 运行时间 3.719 s
提交时间 2014-07-14 17:44:22 内存使用 1.43 MiB
显示代码纯文本
    #include<iostream>
    #include<fstream>
    using namespace std;
    ifstream fin("ariprog.in");
    ofstream fout("ariprog.out");
    class T
    {
    public:
    int a,b;
    }t[130000]={0,0};
    bool compare(class T A,class T B)
    {
    if(A.b<B.b||(A.b==B.b&&A.a<B.a))return 1;
    return 0;
    }
    bool square[130000]={false},ok=false,mark=true;
    int N,M,k=0,p,q;
    int main()
    {
    fin>>N>>M;
    for(p=0;p<=M;p++)
    {
    for(q=0;q<=M;q++)square[p*p+q*q]=true;
    }
    for(int b=1;b<=M*M;b++)
    {
    for(int a=0;a<=M*M;a++)
    {
    int i=0;
    for(int n=0;n<N;n++)
    {
    if((a+n*b)>(p*p+q*q)){mark=false;break;}
    if(square[a+n*b]==true)i++;
    else break;
    if(i==N){t[k].a=a;t[k].b=b;k++;ok=true;break;}
    }
    if(mark==false)break;
    }
    }
    for(int i=0;i<k;i++)fout<<t[i].a<<" "<<t[i].b<<endl;
    if(ok==false)fout<<"NONE"<<endl;
    return 0;
    }