B. Nauuo and Chess

原题地址
题意就是说Nauuo喜欢玩棋子,然后问你,Nauuo 有n个棋子 , 如何放 ,能使棋盘m最小,且输出位置。
这道题的关键是|ri−rj|+|ci−cj|≥|i−j||ri−rj|+|ci−cj|≥|i−j| .这个条件在最小棋盘上必须所有棋子都满足才行


之后就是棋子位置的问题了,因为m已经求完了,
所以棋盘的第一行可以按顺序放棋子, 第一行放完之后 , 因为要保证|ri−rj|+|ci−cj|≥|i−j||ri−rj|+|ci−cj|≥|i−j|时刻满足 , 所以 从第二行开始 只要把棋子放在最后一列就行。
附上代码:

#include<iostream>
#include<bits/stdc++.h>
#include<string>
#include<cmath>
#include<iomanip>
#include<algorithm>
using namespace std;


int main()
{
    int n;
    cin>>n;
   int x = n/2+1;
   cout<<x <<endl;
   for(int i=1;i<=x;i++){
    cout<<"1"<<" "<<i<<endl;
   }
    for(int i=2;i<=n -x+1;i++){
        cout<<i <<" "<<x<<endl;
    }
    return 0;



}

全部评论

相关推荐

勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务