专栏文章
题解:P14005 棋盘游戏
P14005题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minyhhxn
- 此快照首次捕获于
- 2025/12/02 10:25 3 个月前
- 此快照最后确认于
- 2025/12/02 10:25 3 个月前
传送门
思路:
本蒟蒻认为这道题很水,已知所有黑点的位置,那么黑点的形状有两种延伸方式:
CPP ** **
** **
** **
** **
... ...
追本溯源,从刚开始的黑子出发来看,没有黑子就没有以下诸多黑子,所以只需要找到最靠上黑子的坐标,再将纵坐标,就是刚开始黑子的坐标。(有两种结果输出哪个都一样,所以不用考虑次序。)
例如:
CPP * *
** **
** **
** **
** **
最开始黑子的坐标就由最靠上黑子纵坐标得来。
Code
CPP#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
template<typename T> void re(T&x){x = 0; int sign = 1; char c;do{c = getchar(); if (c == '-') sign = -1;}while(!isdigit(c)); do{x = x * 10 + c - '0'; c = getchar();}while(isdigit(c)); x *= sign;}
void write(int x){if (x < 0) x = -x, putchar('-'); if (x < 10) putchar(x + '0'); else write(x / 10), putchar(x % 10 + '0');}
const int N = 2e5 + 100;
ll n;
struct node{
ll x, y;
}a[N];
bool cmp(node a, node b){
return a.y > b.y;
}
int main(){
re(n);
for (int i = 1; i <= n; i ++) re(a[i].x), re(a[i].y);
sort(a + 1, a + n + 1, cmp);
printf("%lld %lld\n", a[1].x, a[1].y + 1);
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...