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;
}