社区讨论
0pts球跳
P8866[NOIP2022] 喵了个喵参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mi4rdzp5
- 此快照首次捕获于
- 2025/11/18 23:59 4 个月前
- 此快照最后确认于
- 2025/11/20 04:04 4 个月前
CPP
#include<bits/stdc++.h>
#define int __int128
#define PII pair<int,pair<int,int>>
#define fir first
#define sec second
#define rd() read()
#define wt write
#define pc putchar
using namespace std;
namespace IO{
inline int read(){
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c=='-'){
f=-1;
}
c=getchar();
}
while(c>='0'&&c<='9'){
x=(x<<1)+(x<<3)+(c^48);
c=getchar();
}
return x*f;
}
inline void write(int x){
if(x<0){
x=-x;
putchar('-');
}
if(x>9){
write(x/10),putchar(x%10+'0');
}
else{
putchar(x+'0');
}
return ;
}
}
using namespace IO;
namespace Main{
const int N=1010;
int T,cnt;
int s[N];
int n,m,k;
deque<int> q[N];
vector<PII> res;
inline int check_tp(int x){
for(int i=0;i<n;i++){
if(!q[i].size()){
return -1;
}
if(q[i].front()==x){
return i;
}
}
return -1;
}
inline int check_ed(int x){
for(int i=0;i<n;i++){
if(!q[i].size()){
return -1;
}
if(q[i].back()==x){
return i;
}
}
return -1;
}
inline void main(){
T=rd();
while(T--){
n=rd(),m=rd(),k=rd();
for(int i=1;i<=m;i++){
s[i]=rd();
}
for(int i=1;i<=m;i++){
int t1=check_tp(s[i]),t2=check_ed(s[i]);
if(!((~t1)||(~t2))){
q[(cnt++)%m].push_back(s[i]);
}
else if(!(~t1)){
int t3=0,t4,mns=0x3f3f3f3f;
for(int j=0;j<n;j++){
if(!q[j].size()){
res.push_back({2,{t2,j}});
q[t2].pop_back();
t3=1;
break;
}
else if(q[j].size()<mns){
mns=q[j].size();
t4=j;
}
}
if(!t3){
res.push_back({1,{t4,0}});
}
}
else if(!(~t2)){
q[t1].pop_front();
res.push_back({1,{t1,0}});
}
}
wt(res.size()),pc('\n');
for(auto i:res){
if(!(i.fir-1)){
pc('1'),pc(' '),wt(i.sec.fir),pc('\n');
}
else{
pc('2'),pc(' '),wt(i.sec.fir),pc(' '),wt(i.sec.sec),pc('\n');
}
}
cnt=0;
res.clear();
for(int i=0;i<n;i++){
q[i].clear();
}
}
return ;
}
}
signed main(){
Main::main();
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...