AcWing 568. 奇妙的数列
原题链接
简单
作者:
比方
,
2020-03-19 14:38:43
,
所有人可见
,
阅读 809
C++ 代码
#include <iostream>
#include <vector>
using namespace std;
int compute(int i, int j)
{
int a_i, a_j, res = 0;
int n = j - i + 1;
if(i % 2 == 0) a_i = i;
else a_i = -i;
if(j % 2 == 0) a_j = j;
else a_j = -j;
if(n % 2 == 0)
{
if(a_i < 0)
{
res = n / 2;
}
else{
res = -1 * (n / 2);
}
}
else{
if(a_i < 0)
{
res = n / 2 + a_j;
}
else{
res = -1 * (n / 2) + a_j;
}
}
return res;
}
int main()
{
int n;
cin >> n;
vector<vector<int>> a(n, vector<int>(2));
vector<int> res(n);
for(int i = 0; i < n; i++)
{
for(int j = 0; j < 2; j++)
{
cin>>a[i][j];
}
}
for(int i = 0; i < n; i++)
{
res[i] = compute(a[i][0], a[i][1]);
cout<<res[i]<<endl;
}
return 0;
}