codeforces 1027 B

给一个n*n的数字矩阵 然后1到n^2/2的就从左到右 从上到下依次放在行列加起来是偶数的格子里 然后n^2/2+1的就放在奇数格子里
然后询问某个格子的数是多少
其实就是根据n是奇数还是偶数 还有询问的位置是奇数还是偶数然后推理一下 找一下规律即可
最后答案要开long long 而n也要开long long 不然中间结果会溢出

#include <bits/stdc++.h>

using namespace std;

const int maxn=1e9+10;

long long n,m;

int main()
{
    ios::sync_with_stdio(false);
    cin>>n>>m;
    while(m--)
    {
        long long ans=0;
        long long x,y;
        cin>>x>>y;
        ans=(x-1)*n+y+1;
        if((x+y)%2==1)
        {
            ans+=n*n;
        }
        cout<<ans/2<<endl;


    }
    return 0;
}

  

原文地址:https://www.cnblogs.com/Fy1999/p/9574930.html