USACO Section 1.4 Arithmetic Progressions

2014-11-24 09:20:46 · 作者: · 浏览: 1
/*
ID: lucien23
PROG: ariprog
LANG: C++
*/

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        using namespace std; typedef struct{ int first; int different; }ArithProgressions; bool compProgressions(ArithProgressions item1,ArithProgressions item2) { if(item1.different
       
        item2.different) return false; else { if(item1.first
        
         >N>>M; set
         
           nums; vector
          
            progressions; for (int i=0;i<=M;i++) { for (int j=0;j<=M;j++) { nums.insert(i*i+j*j); } } for (set
           
            ::iterator it=nums.begin();it!=nums.end();it++) { set
            
::iterator it1=it; while(++it1!=nums.end()) { int diff=*it1-*it; if(*it+(N-1)*diff>2*M*M) break; int i; for (i=2;i ::iterator it=progressions.begin();it!=progressions.end();it++) { outfile< first<<" "< different<