专栏文章
P14358 [CSP-J 2025] 座位 / seat(民间数据)
P14358题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minfq04d
- 此快照首次捕获于
- 2025/12/02 01:40 3 个月前
- 此快照最后确认于
- 2025/12/02 01:40 3 个月前
题目理解:
有一个 行 列的考场,所有考生按照第一轮成绩从高到低进行蛇形排列,需要找到他的座位位置。
好的,我们先来理解题意。
- 蛇形排列规律
假设座位用表示(行,列),但题目输出是 (列,行)。
编号方式(按成绩排名 到 ):
如果列号 是奇数:
该列的行号 从 到(从上到下)。
如果列号 是偶数:
该列的行号 从 到 (从下到上)。
排名与座位 的关系:
先确定列:(整数除法)。
再确定行:
如果 是奇数:。
如果 是偶数:。
代码如下:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
int x=n*m;
vector<int>s(x);
for(int i=0;i<x;i++) {
cin>>s[i];
}
int q__ = s[0];
vector<int> d_s = s;
sort(d_s.begin(), d_s.end(), greater<int>());
int k = 0;
for (int i=0;i<x;i++) {
if (d_s[i]==q__) {
k=i+1;
break;
}
}
int c=(k-1)/n+1;
int r;
if(c%2==1)r=(k-1)%n+1;
else r=n-(k-1)%n;
cout<<c<<" "<<r<<endl;
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...