社区讨论
毒瘤出题人卡我贪心!
P7339 『MdOI R4』Kotori参与者 13已保存回复 40
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 40 条
- 当前快照
- 1 份
- 快照标识符
- @locmvzsf
- 此快照首次捕获于
- 2023/10/30 16:24 2 年前
- 此快照最后确认于
- 2023/11/05 03:28 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int f,r,j,s,t,n,m,k,len,a[262150];
struct node{
int a,id;
}p[262150][20];
int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d",&k,&m);
n=1<<k;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
p[i][1].a=a[i];
p[i][1].id=i;
}
// printf("%d ^\n",p[1][1].a);
s=n;
j=0;
while(s>1){
j++;
for(int i=1;i<=s;i+=2){
if(p[i][j].id==1){
f=1;
p[i][j].a+=m;
}
else{
// printf("%d ^%d\n",p[1][1].a,max(p[i][j].a,p[i+1][j].a));
if(max(p[i][j].a,p[i+1][j].a)<a[1]+m){
// printf("$$$$$\n");
if(p[i][j].a>=p[i+1][j].a){
f=1;
p[i][j].a+=m;
}
else{
f=2;
p[i+1][j].a+=m;
}
}
else{
if(p[i][j].a<=p[i+1][j].a){
f=1;
p[i][j].a+=m;
}
else{
f=2;
p[i+1][j].a+=m;
}
}
}
// printf("%dPK%d\n",p[i][j].id,p[i+1][j].id);
// printf("%d$$%d\n",p[i][j].a,p[i+1][j].a);
// printf("%d\n",p[(i+1)>>1][j+1].a);
if(p[i][j].a==p[i+1][j].a){
if(f==1){
p[(i+1)>>1][j+1].a=a[p[i][j].id];
p[(i+1)>>1][j+1].id=p[i][j].id;
}
else{
p[(i+1)>>1][j+1].a=a[p[i+1][j].id];
p[(i+1)>>1][j+1].id=p[i+1][j].id;
}
}
else{
if(p[i][j].a>=p[i+1][j].a){
p[(i+1)>>1][j+1].a=a[p[i][j].id];
p[(i+1)>>1][j+1].id=p[i][j].id;
}
else{
p[(i+1)>>1][j+1].a=a[p[i+1][j].id];
p[(i+1)>>1][j+1].id=p[i+1][j].id;
}
}
}
s=s>>1;
// for(int i=1;i<=n;i++)printf("%d ",a[i]);
// puts("");
}
if(p[1][k+1].id==1)printf("Kotori\n");
else printf("Yoshino\n");
}
return 0;
}
求hack数据
回复
共 40 条回复,欢迎继续交流。
正在加载回复...