杭電ACM 2007:平方和と立方和


原題の回顧


Problem Description
連続する整数を与えて、彼らの中のすべての偶数の平方和とすべての奇数の立方和を求めます
Input
入力データには複数のテストインスタンスが含まれ、各テストインスタンスには2つの整数mとnからなる1行が含まれます.
Output
各入力データのセットについて、出力される1行には、2つの整数xおよびyが含まれ、セグメントの連続する整数のすべての偶数の平方およびすべての奇数の立方和をそれぞれ表す.32ビットの整数は結果を保存するのに十分だと考えられます
Sample Input
1 3 2 5
Sample Output
4 28 20 152
この問題は全体的に難しくないが、ACには特に注意しなければならない点があり、2つの整数m、n、およびすべてのsample inputの入力を見て、2つの整数m、nはいずれもmがnより小さいと思っている人が多い.実はそうではありません.この詳細は特に重要です.ここではm>nを入力するという特殊な場合もあります.だから、コードの中でm>nを処理しなければ、提出時に通過できません.ここは特に注意しなければならないところです.私のACコードは以下の通りです.
#include 

using namespace std;

int main(void)
{
    int m,n,square_sum=0,cube_sum=0,temp,t;
    while(cin>>m>>n)
    {
        // m>n m,n 
        if(m>n)
        {
            t=m;
            m=n;
            n=t;
        }

        temp=m;
        for(int i=0; i<=n-m; i++)
        {
            // 
            if(temp%2==0)
            {
                square_sum+=temp*temp;
                ++temp;
            }
            else// 
            {
                cube_sum+=temp*temp*temp;
                ++temp;
            }
        }

        cout<" "<0;
        cube_sum=0;
    }
    return 0;
}