全RE球条
查看原帖
全RE球条
940146
Thewilloffire楼主2024/9/4 16:45

代码:

#include<bits/stdc++.h>
using namespace std;
int n;
int youxijieshubiaoji;
int dangqianhuiheshu;
struct job{
	int id;
	int player;
	int HP,hp;
	int MP,mp;
	int atk=0,ATK;
	int def=0,DEF;
	int tianfu,x1,y1;
	int jineng,x2,y2,z2;
    int zhuangtai;
	int shunxu[15];
	int yanchukaishibiaoji=0,yanchukaishizengyi=0,jieshushijian=0,yanchukaishifadongshijian=0;
	int gongjilijiajianbiaoji=0,gongjilijiajian=0,gongjilijiachenchixushijian=0,gongjilijiachengfadongshijian=0;
	int bianhao=0,zhi=0,chaishi=0,jieshu=0;
	int jiadefbiaoji=0,jiandefbiaoji=0,jiadefzhi=0,jiandefzhi=0,jiadefkaishi=0,jiadefjieshu=0,jiandefkaishi=0,jiandefjieshu=0;
	int yekaijieshushijian=-1,yekaifadongzhebiaoji=0;
}Alice[11],Bob[11];

void siwangpanding(int who1,int who2){
	if(who1==1){
		if(Alice[who2].hp<=0){
			Alice[who2].zhuangtai=0;
		}
	}else{
		if(Bob[who2].hp<=0){
			Bob[who2].zhuangtai=0;
		}
	}
}

long long zaochengshanghaipanding(int who1,int who2,int jiashang,int zhenshang){
	int ans=0;
	if(who1==2){
		if(Alice[who2].tianfu==2){
			ans=max(jiashang-(Alice[who2].def+Alice[who2].DEF),0)+zhenshang/2;
		}else{
			ans=max(jiashang-(Alice[who2].def+Alice[who2].DEF),0)+zhenshang;
		}
	}else{
		if(Bob[who2].tianfu==2){
			ans=max(jiashang-(Bob[who2].def+Bob[who2].DEF),0)+zhenshang/2;
		}else{
			ans=max(jiashang-(Bob[who2].def+Bob[who2].DEF),0)+zhenshang;
		}
	}
	return ans;
}

int pandingchouhen(int who1,int who2){
	if(who1==1){
		for(int i=1;i<=n;i++){
			if(Bob[Alice[who2].shunxu[i]].zhuangtai==1){
				return i;
			}
		}
	}else{
		for(int i=1;i<=n;i++){
			if(Alice[Bob[who2].shunxu[i]].zhuangtai==1){
				return i;
			}
		}
	}
}

int pugongnengkouchuduoshaoshengmingzhi(int who1,int who2){
	int ans;
	if(who1==1){
		int chouhen=0;
		chouhen=pandingchouhen(1,who2);
		if(Alice[who2].tianfu=4){
			ans=zaochengshanghaipanding(2,chouhen,0,Alice[who2].atk+Alice[who2].ATK);
			siwangpanding(2,chouhen);
		}else if(Alice[who2].tianfu=2){
			ans=zaochengshanghaipanding(2,chouhen,Alice[who2].atk+Alice[who2].ATK,Alice[who2].x2);
		}else{
			ans=zaochengshanghaipanding(2,chouhen,Alice[who2].atk+Alice[who2].ATK,0);
		}
	}else{
		int chouhen=pandingchouhen(1,who2);
		if(Bob[who2].tianfu=4){
			ans=zaochengshanghaipanding(1,chouhen,0,Bob[who2].atk+Bob[who2].ATK);
			siwangpanding(1,chouhen);
		}else if(Bob[who2].tianfu=2){
			ans=zaochengshanghaipanding(1,chouhen,Bob[who2].atk+Bob[who2].ATK,Bob[who2].x2);
		}else{
			ans=zaochengshanghaipanding(1,chouhen,Bob[who2].atk+Bob[who2].ATK,0);
		}
	}
}

void jieshu1(int t){
	cout<<t<<endl;
	youxijieshubiaoji=1;
	cout<<"Alice"<<endl;
	for(int i=1;i<=n;i++){
		if(Alice[i].hp<=0){
			cout<<0<<' ';
		}else{
			cout<<Alice[i].hp<<' ';
		}
	}
}

void jieshu2(int t){
	cout<<t<<endl;
	youxijieshubiaoji=1;
	cout<<"Bob"<<endl;
	for(int i=1;i<=n;i++){
		if(Bob[i].hp<=0){
			cout<<0<<' ';
		}else{
			cout<<Bob[i].hp<<' ';
		}
	}
}

int panduanshifoushifangjineng(int who1){
	if(who1==1){
		for(int i=1;i<=n;i++){
			if(Alice[i].mp==Alice[i].MP){
				return 1;
			}
		}
		return 0;
	}else{
		for(int i=1;i<=n;i++){
			if(Bob[i].mp==Bob[i].MP){
				return 1;
			}
		}
		return 0;
	}
}

int panduansheifangjineng(int who1){
	int shei=0,hao=0;
	if(who1==1){
		for(int i=1;i<=n;i++){
			if((Alice[i].mp=Alice[i].MP&&i>hao&&Alice[i].zhuangtai==1)||(i==hao&&Alice[i].zhuangtai==1)){
				shei=i;
				hao=i;
			}
		}
		return shei;
	}else{
		for(int i=1;i<=n;i++){
			if((Bob[i].mp=Bob[i].MP&&i>hao&&Bob[i].zhuangtai==1)||(i==hao&&Bob[i].zhuangtai==1)){
				shei=i;
				hao=i;
			}
		}
		return shei;
	}
}

int sheishifangpugong(int who1){
	int shei=0,hao=0,nengkouchuzuiduoshengmingzhi=0;
	int maxyouxianmubiaoshengmingzhi=-1;
	int jishu=0;
	if(who1==1){
		for(int i=1;i<=n;i++){
			int chouhen=0;
			chouhen=pandingchouhen(1,i);
			if(Bob[chouhen].hp>maxyouxianmubiaoshengmingzhi){
				Bob[chouhen].hp=maxyouxianmubiaoshengmingzhi;
				shei=i;
				hao=chouhen;
			}else{
				int zaochengshanghai=0;
				if(Alice[i].tianfu=4){
					zaochengshanghai=pugongnengkouchuduoshaoshengmingzhi(2,i);
				}else if(Alice[i].tianfu=2){
					zaochengshanghai=pugongnengkouchuduoshaoshengmingzhi(2,i);
				}else{
					zaochengshanghai=pugongnengkouchuduoshaoshengmingzhi(2,i);
				}
				if(zaochengshanghai>=nengkouchuzuiduoshengmingzhi){
					int ttt=nengkouchuzuiduoshengmingzhi;
					nengkouchuzuiduoshengmingzhi=zaochengshanghai;
					shei=i;
					hao=chouhen;
				}
			}
		}
		return shei;
	}else{
		for(int i=1;i<=n;i++){
			int chouhen=0;
			chouhen=pandingchouhen(2,i);
			if(Alice[chouhen].hp>maxyouxianmubiaoshengmingzhi){
				Alice[chouhen].hp=maxyouxianmubiaoshengmingzhi;
				shei=i;
				hao=chouhen;
			}else{
				int zaochengshanghai=0;
				if(Bob[i].tianfu=4){
					zaochengshanghai=pugongnengkouchuduoshaoshengmingzhi(1,i);
				}else if(Bob[i].tianfu=2){
					zaochengshanghai=pugongnengkouchuduoshaoshengmingzhi(1,i);
				}else{
					zaochengshanghai=pugongnengkouchuduoshaoshengmingzhi(1,i);
				}
				if(zaochengshanghai>=nengkouchuzuiduoshengmingzhi){
					int ttt=nengkouchuzuiduoshengmingzhi;
					nengkouchuzuiduoshengmingzhi=zaochengshanghai;
					shei=i;
					hao=chouhen;
				}
			}
		}
	}
}

int zhaoyekaifadongzhe1(){
	for(int i=1;i<=n;i++){
		if(Alice[i].yekaifadongzhebiaoji==1) return 1;
		if(Bob[i].yekaifadongzhebiaoji==1) return 2;
	} 
}


int zhaoyekaifadongzhe2(){
	for(int i=1;i<=n;i++){
		if(Alice[i].yekaifadongzhebiaoji==1){
			return i;
		}
		if(Bob[i].yekaifadongzhebiaoji==1){
			return i;
		}
	} 
} 
int shengfupanding(int who1){
	if(who1==1){
		int flag=1;
		for(int i=1;i<=n;i++){
			if(Bob[i].zhuangtai==1){
				return 0;
			}
		}
		return 1;
	}else{
		int flag=1;
		for(int i=1;i<=n;i++){
			if(Alice[i].zhuangtai==1){
				return 0;
			}
		}
		return 1;
	}
}

void shanghaipanding(int who1,int who2,int jiashang,int zhenshang){
	if(who1==2){
		Alice[who2].mp++;
		if(Alice[who2].tianfu==2){
			Alice[who2].hp-=max(jiashang-(Alice[who2].def+Alice[who2].DEF),0)+zhenshang/2;
		}else{
			Alice[who2].hp-=max(jiashang-(Alice[who2].def+Alice[who2].DEF),0)+zhenshang;
		}
	}else{
		Bob[who2].mp++;
		if(Bob[who2].tianfu==2){
			Bob[who2].hp-=max(jiashang-(Bob[who2].def-+Bob[who2].DEF),0)+zhenshang/2;
		}else{
			Bob[who2].hp-=max(jiashang-(Bob[who2].def+Bob[who2].DEF),0)+zhenshang;
		}
	}
}


void yekaijieshuchuli(int who1){
	if(who1==1){
		for(int i=1;i<=n;i++){
			Alice[i].zhuangtai=0;
		} 
	}else{
		for(int i=1;i<=n;i++){
			Bob[i].zhuangtai=0;
		} 
	}
}

void Alicepugong(int x){
	int chouhen=pandingchouhen(1,x);
	if(Alice[x].tianfu=4){
		shanghaipanding(2,chouhen,0,Alice[x].atk+Alice[x].ATK);
		siwangpanding(2,chouhen);
	}else if(Alice[x].tianfu=2){
		shanghaipanding(2,chouhen,Alice[x].atk+Alice[x].ATK,Alice[x].x2);
		siwangpanding(2,chouhen);
	}else{
		shanghaipanding(2,chouhen,Alice[x].atk+Alice[x].ATK,0);
		siwangpanding(2,chouhen);
	}
}

void Bobpugong(int x){
	int chouhen=pandingchouhen(1,x);
	if(Bob[x].tianfu=4){
		shanghaipanding(2,chouhen,0,Bob[x].atk+Bob[x].ATK);
		siwangpanding(1,chouhen);
	}else if(Bob[x].tianfu=2){
		shanghaipanding(2,chouhen,Bob[x].atk+Bob[x].ATK,Bob[x].x2);
		siwangpanding(1,chouhen);
	}else{
		shanghaipanding(2,chouhen,Bob[x].atk+Bob[x].ATK,0);
		siwangpanding(1,chouhen);
	}
}

void yichupanding(int who1,int who2){
	if(who1==1){
		if(Alice[who2].hp>Alice[who2].HP){
			Alice[who2].hp>Alice[who2].HP;
		}
		if(Alice[who2].mp>Alice[who2].MP){
			Alice[who2].mp>Alice[who2].MP;
		}
	}else{
		if(Bob[who2].hp>Bob[who2].HP){
			Bob[who2].hp>Bob[who2].HP;
		}
		if(Bob[who2].mp>Bob[who2].MP){
			Bob[who2].mp>Bob[who2].MP;
		}
	}
}

void yanchukaishipanding(int who1,int who2,int t){
	if(who1==1){
		if(Alice[who2].yanchukaishibiaoji==1&&Alice[who2].jieshushijian!=t){
			Alice[who2].mp+=Alice[who2].yanchukaishizengyi+1;
		}else if(Alice[who2].jieshushijian==t){
			Alice[who2].mp++;
			Alice[who2].yanchukaishibiaoji==0;
		}else{
			Alice[who2].mp++;
		}
	}else{
		if(Bob[who2].yanchukaishibiaoji==1&&Bob[who2].jieshushijian!=t){
			Bob[who2].mp+=Bob[who2].yanchukaishizengyi+1;
		}else if(Bob[who2].jieshushijian==t){
			Bob[who2].mp++;
			Bob[who2].yanchukaishibiaoji==0;
		}else{
			Bob[who2].mp++;
		}
	}
}

int jieshu111(){
	int f1=0,f2=0;
	for(int i=1;i<=n;i++){
		if(Alice[i].hp>0){
			f1=1; 
		} 
		if(Bob[i].hp>0){
			f2=1;
		} 
	}
	if(f1==0){
		return 2;
	}else if(f2==0){
		return 1;
	}
	return 0;
}

void gongjilifumianpanding(int who1,int who2,int t){
	if(who1==1){
		if(Alice[who2].gongjilijiajianbiaoji==1&&Alice[who2].gongjilijiachenchixushijian!=t&&Alice[who2].gongjilijiachengfadongshijian!=t){
			Alice[who2].atk=Alice[who2].atk;
		}else if(Alice[who2].gongjilijiachenchixushijian==t){
			Alice[who2].atk-=Alice[who2].gongjilijiajian;
			Alice[who2].gongjilijiajianbiaoji==0;
		}else if(Alice[who2].gongjilijiachengfadongshijian==t){
			Alice[who2].atk+=Alice[who2].gongjilijiajian;
		}
	}else{
		if(Bob[who2].gongjilijiajianbiaoji==1&&Bob[who2].gongjilijiachenchixushijian!=t&&Bob[who2].gongjilijiachengfadongshijian!=t){
			Bob[who2].atk=Bob[who2].atk;
		}else if(Alice[who2].gongjilijiachenchixushijian==t){
			Bob[who2].atk-=Bob[who2].gongjilijiajian;
			Bob[who2].gongjilijiajianbiaoji==0;
		}else if(Alice[who2].gongjilijiachengfadongshijian==t){
			Bob[who2].atk+=Bob[who2].gongjilijiajian;
		}
	}
}
void gongjilizengyipanding(int who1,int who2,int t){
	if(who1==1){
		if(Alice[who2].bianhao==1&&Alice[who2].jieshu!=t&&Alice[who2].chaishi!=t){
			Alice[who2].atk=Alice[who2].atk;
		}else if(Alice[who2].jieshu==t){
			Alice[who2].atk-=Alice[who2].zhi;
			Alice[who2].bianhao==0;
		}else if(Alice[who2].chaishi==t){
			Alice[who2].atk+=Alice[who2].zhi;
		}
	}else{
		if(Bob[who2].bianhao==1&&Bob[who2].jieshu!=t&&Bob[who2].chaishi!=t){
			Bob[who2].atk=Bob[who2].atk;
		}else if(Alice[who2].jieshu==t){
			Bob[who2].atk-=Bob[who2].zhi;
			Bob[who2].bianhao==0;
		}else if(Alice[who2].chaishi==t){
			Bob[who2].atk+=Bob[who2].zhi;
		}
	}
}
void fangyulifumianpanding(int who1,int who2,int t){
	if(who1==1){
		if(Alice[who2].jiandefbiaoji==1&&Alice[who2].jiandefjieshu!=t&&Alice[who2].jiandefkaishi!=t){
			Alice[who2].def=Alice[who2].def;
		}else if(Alice[who2].jiandefjieshu==t){
			Alice[who2].def-=Alice[who2].jiandefzhi;
			Alice[who2].jiandefbiaoji==0;
		}else if(Alice[who2].jiandefkaishi==t){
			Alice[who2].def+=Alice[who2].jiandefzhi;
		}
	}else{
		if(Bob[who2].jiandefbiaoji==1&&Bob[who2].jiandefjieshu!=t&&Bob[who2].jiandefkaishi!=t){
			Bob[who2].def=Bob[who2].def;
		}else if(Bob[who2].jiandefjieshu==t){
			Bob[who2].def-=Bob[who2].jiandefzhi;
			Bob[who2].jiandefbiaoji==0;
		}else if(Bob[who2].jiandefkaishi==t){
			Bob[who2].def+=Bob[who2].jiandefzhi;
		}
	}
}

void fangyulizengyipanding(int who1,int who2,int t){
	if(who1==1){
		if(Alice[who2].jiadefbiaoji==1&&Alice[who2].jiadefjieshu!=t&&Alice[who2].jiadefkaishi!=t){
			Alice[who2].def=Alice[who2].def;
		}else if(Alice[who2].jiadefjieshu==t){
			Alice[who2].def-=Alice[who2].jiadefzhi;
			Alice[who2].jiadefbiaoji==0;
		}else if(Alice[who2].jiadefkaishi==t){
			Alice[who2].def+=Alice[who2].jiadefzhi;
		}
	}else{
		if(Bob[who2].jiadefbiaoji==1&&Bob[who2].jiadefjieshu!=t&&Bob[who2].jiadefkaishi!=t){
			Bob[who2].def=Bob[who2].def;
		}else if(Bob[who2].jiadefjieshu==t){
			Bob[who2].def-=Bob[who2].jiadefzhi;
			Bob[who2].jiadefbiaoji==0;
		}else if(Bob[who2].jiadefkaishi==t){
			Bob[who2].def+=Bob[who2].jiadefzhi;
		}
	}
}
void xintaibengle(){
	return;
}
void gelinzhalie(int who1,int who2,int x){
	if(who1==1){
		for(int i=1;i<=n;i++){
			shanghaipanding(2,i,x,0);
			siwangpanding(2,i);
			Bob[i].mp=Bob[i].mp/10*9;
		}
	}else{
		for(int i=1;i<=n;i++){
			shanghaipanding(1,i,x,0);
			siwangpanding(1,i);
			Alice[i].mp=Alice[i].mp/10*9;
		}
	}
}
void zhoujidaodan(int who1,int who2){
	if(who1==1){
		for(int i=1;i<=n;i++){
			shanghaipanding(2,i,0,Alice[who2].ATK+Alice[who2].atk);
			siwangpanding(2,i);
		}
	}else{
		for(int i=1;i<=n;i++){
			shanghaipanding(1,i,0,Bob[who2].ATK+Bob[who2].atk);
			siwangpanding(1,i);
		}
	}
}

void tianloubaduanjian(int who1,int who2,int x){
	if(who1==1){
		for(int i=1;i<=n;i++){
			shanghaipanding(2,i,min(x*(Alice[who2].ATK+Alice[who2].atk),Bob[i].HP/10),0);
			siwangpanding(2,i);
		}
	}else{
		for(int i=1;i<=n;i++){
			shanghaipanding(1,i,min(x*(Bob[who2].ATK+Bob[who2].atk),Alice[i].HP/10),0);
			siwangpanding(1,i);
		}
	}
}
void yanchukaishi(int who1,int who2,int x,int y1){
	if(who1==1){
		for(int i=1;i<=n;i++){
			Alice[i].yanchukaishibiaoji=1;
			Alice[i].yanchukaishizengyi=y1;
			Alice[i].jieshushijian=dangqianhuiheshu+x-1;
			Alice[i].yanchukaishifadongshijian=dangqianhuiheshu;
		}
	}else{
		for(int i=1;i<=n;i++){
			Bob[i].yanchukaishibiaoji=1;
			Bob[i].yanchukaishizengyi=y1;
			Bob[i].jieshushijian=dangqianhuiheshu+x-1;
			Alice[i].yanchukaishifadongshijian=dangqianhuiheshu;
		}
	}
}
void tianlangshizhan(int who1,int who2,int x){
	int chouhen=pandingchouhen(who1,who2);
	if(who1==1){
		Bob[chouhen].def-=x;
		shanghaipanding(2,chouhen,0,Alice[who2].ATK);
		siwangpanding(2,chouhen);
	}else{
		Alice[chouhen].def-=x;
		shanghaipanding(1,chouhen,0,Bob[who2].ATK);
		siwangpanding(1,chouhen);
	}
}

void diqiulanseshandian(int who1,int who2,int x1,int y1){
	int chouhen=pandingchouhen(who1,who2);
	if(who1==1){
		shanghaipanding(2,chouhen,0,Alice[who2].ATK);
		siwangpanding(2,chouhen);
		for(int i=1;i<=n;i++){
			Bob[i].gongjilijiajianbiaoji=1;
			Bob[i].gongjilijiajian=-y1;
			Bob[i].gongjilijiachenchixushijian=x1+dangqianhuiheshu-1;
			Bob[i].gongjilijiachengfadongshijian=dangqianhuiheshu;
		}
	}else{
		shanghaipanding(1,chouhen,0,Bob[who2].ATK);
		siwangpanding(1,chouhen);
		for(int i=1;i<=n;i++){
			Alice[i].gongjilijiajianbiaoji=1;
			Alice[i].gongjilijiajian=-y1;
			Alice[i].gongjilijiachenchixushijian=x1+dangqianhuiheshu-1;
			Alice[i].gongjilijiachengfadongshijian=dangqianhuiheshu;
		}
	}
}

void jiguangzhanfang(int who1,int who2,int x1,int y1,int z1){
	int zuixiaoshengmingbianhao=0,zuixiaoshengmingzhi=0;
	if(who1==1){
		for(int i=1;i<=n;i++){
			if(Alice[i].hp<zuixiaoshengmingzhi&&Alice[i].zhuangtai!=0){
				zuixiaoshengmingzhi=Alice[i].hp;
				zuixiaoshengmingbianhao=i;
			}
		}
		Alice[zuixiaoshengmingbianhao].hp+=z1;
		for(int i=1;i<=n;i++){
			Alice[i].bianhao=1;;
			Alice[i].zhi=y1;
			Alice[i].jieshu=x1+dangqianhuiheshu-1;
			Alice[i].chaishi=dangqianhuiheshu;
		}
	
	}else{
		for(int i=1;i<=n;i++){
			if(Bob[i].hp<zuixiaoshengmingzhi&&Bob[i].zhuangtai!=0){
				zuixiaoshengmingzhi=Bob[i].hp;
				zuixiaoshengmingbianhao=i;
			}
		}
		Bob[zuixiaoshengmingbianhao].hp+=z1;
		for(int i=1;i<=n;i++){
			Bob[i].bianhao=1;;
			Bob[i].zhi=y1;
			Bob[i].jieshu=x1+dangqianhuiheshu-1;
			Bob[i].chaishi=dangqianhuiheshu;
		}
	
	}
}

void liuying(int who1,int who2,int x1,int y1){
	if(who1==1){
		for(int i=1;i<=n;i++){
			shanghaipanding(2,i,Alice[who2].ATK+Alice[who2].atk,0);
			siwangpanding(2,i);
			Alice[i].jiandefbiaoji=1;;
			Alice[i].jiandefzhi=-y1;
			Alice[i].jiandefjieshu=x1+dangqianhuiheshu-1;
			Alice[i].jiandefkaishi=dangqianhuiheshu;
		}
	}else{
		for(int i=1;i<=n;i++){
			shanghaipanding(2,i,Bob[who2].ATK+Bob[who2].atk,0);
			siwangpanding(2,i);
			Bob[i].jiandefbiaoji=1;;
			Bob[i].jiandefzhi=-y1;
			Bob[i].jiandefjieshu=x1+dangqianhuiheshu-1; 
			Bob[i].jiandefkaishi=dangqianhuiheshu;
		}
	}
}

void jinglingbihu(int who1,int who2,int x1,int y1,int z1){
	if(who1==1){
		for(int i=1;i<=n;i++){
			Alice[i].hp+=z1;
			Alice[i].jiadefbiaoji=1;;
			Alice[i].jiadefzhi=y1;
			Alice[i].jiadefjieshu=x1+dangqianhuiheshu-1;
			Alice[i].jiadefkaishi=dangqianhuiheshu;
		}
	}else{
		for(int i=1;i<=n;i++){
			Bob[i].hp+=z1;
			Bob[i].jiadefbiaoji=1;;
			Bob[i].jiadefzhi=y1;
			Bob[i].jiadefjieshu=x1+dangqianhuiheshu-1;
			Bob[i].jiadefkaishi=dangqianhuiheshu;
		}
	}
}

void yekai(int who1,int who2,int x,int t){
	int yekaibiaojijiji=1;
	if(who1==1){
		Alice[who2].yekaifadongzhebiaoji=1;
		for(int i=1;i<=n;i++){
			Alice[i].jineng=0;
			Bob[i].jineng=0;
		}
		for(int i=1;i<=n;i++){
			Alice[i].yekaijieshushijian=x+t-1;
			Alice[i].ATK*=2;
			Alice[i].DEF*=2;
			if(Alice[i].zhuangtai==1){
				Alice[i].hp=max(Alice[i].HP/2,Alice[i].hp);
				Alice[i].mp=max(Alice[i].MP/2,Alice[i].mp);
			}
		}
	}else{
		Bob[who2].yekaifadongzhebiaoji=1;
		for(int i=1;i<=n;i++){
			Alice[i].jineng=0;
			Bob[i].jineng=0;
		}
		for(int i=1;i<=n;i++){
			Bob[i].yekaijieshushijian=x+t-1;
			Bob[i].ATK*=2;
			Bob[i].DEF*=2;
			if(Bob[i].zhuangtai==1){
				Bob[i].hp=max(Bob[i].HP/2,Bob[i].hp);
				Bob[i].mp=max(Bob[i].MP/2,Bob[i].mp);
			}
		}
	}
}
//A==1,B==2,s==0,ns==1
int yekaibiaojijiji;
int main(){
	cin>>n;
	int cnt=0;
	for(int i=1;i<=n;i++){
		cnt++;
		cin>>Alice[i].HP>>Alice[i].MP>>Alice[i].atk>>Alice[i].def;
		for(int j=1;j<=n;i++){
			cin>>Alice[i].shunxu[j];
		}
		cin>>Alice[i].jineng>>Alice[i].x1>>Alice[i].y1;
		cin>>Alice[i].tianfu>>Alice[i].x2>>Alice[i].y2>>Alice[i].z2;
		Alice[i].player=1;
		Alice[i].id=cnt;
		Alice[i].zhuangtai=1;
	}
	cnt=0;
	for(int i=1;i<=n;i++){
		cnt++;
		cin>>Bob[i].HP>>Bob[i].MP>>Bob[i].atk>>Bob[i].def;
		for(int j=1;j<=n;i++){
			cin>>Bob[i].shunxu[j];
		}
		cin>>Bob[i].jineng>>Bob[i].x1>>Bob[i].y1;
		cin>>Bob[i].tianfu>>Bob[i].x2>>Bob[i].y2>>Bob[i].z2;
		Bob[i].player==1;
		Bob[i].id=cnt;
		Bob[i].zhuangtai=1;
	}
	for(int i=1;i<=24000;i++){
		dangqianhuiheshu++;
		for(int i=1;i<=n;i++){
			yanchukaishipanding(1,i,dangqianhuiheshu);
			gongjilizengyipanding(1,i,dangqianhuiheshu);
			gongjilifumianpanding(1,i,dangqianhuiheshu); 
			fangyulizengyipanding(1,i,dangqianhuiheshu);
			fangyulifumianpanding(1,i,dangqianhuiheshu);
			if(yekaibiaojijiji==1){
				if(zhaoyekaifadongzhe1()==1){
					if(Alice[zhaoyekaifadongzhe2()].yekaijieshushijian==dangqianhuiheshu){
						jieshu2(dangqianhuiheshu);
					}
				}else{
					if(Bob[zhaoyekaifadongzhe2()].yekaijieshushijian==dangqianhuiheshu){
						jieshu1(dangqianhuiheshu);
					}
				}
			} 
		}
		if(youxijieshubiaoji==1) break;
		if(panduanshifoushifangjineng(1)==1){
			int sheifangjineng=panduansheifangjineng(1);
			if(Alice[sheifangjineng].jineng==0){
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==1){
				gelinzhalie(1,sheifangjineng,Alice[sheifangjineng].x2);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==2){
				zhoujidaodan(1,sheifangjineng);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==3){
				tianloubaduanjian(1,sheifangjineng,Alice[sheifangjineng].x2);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==4){
				Alice[sheifangjineng].mp++;
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==5){
				tianlangshizhan(1,sheifangjineng,Alice[sheifangjineng].x2);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==6){
				diqiulanseshandian(1,sheifangjineng,Alice[sheifangjineng].x2,Alice[sheifangjineng].y2);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==7){
				jiguangzhanfang(1,sheifangjineng,Alice[sheifangjineng].x2,Alice[sheifangjineng].y2,Alice[sheifangjineng].z2);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==8){
				liuying(1,sheifangjineng,Alice[sheifangjineng].x2,Alice[sheifangjineng].y2);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else if(Alice[sheifangjineng].jineng==9){
				jinglingbihu(1,sheifangjineng,Alice[sheifangjineng].x2,Alice[sheifangjineng].y2,Alice[sheifangjineng].z2);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
			}else{
				yekai(1,sheifangjineng,Alice[sheifangjineng].x2,dangqianhuiheshu);
				xintaibengle();
				Alice[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Alice[sheifangjineng].tianfu==5) Alice[sheifangjineng].mp+=Alice[sheifangjineng].y1;
				yekaibiaojijiji=1;
			}
			for(int i=1;i<=n;i++){
				yichupanding(1,i);
				yichupanding(2,i);
				if(jieshu111()==1){
					jieshu1(dangqianhuiheshu);
				}else if(jieshu111()==2){
					jieshu2(dangqianhuiheshu);
				}
				yanchukaishipanding(1,i,dangqianhuiheshu);
				gongjilizengyipanding(1,i,dangqianhuiheshu);
				gongjilifumianpanding(1,i,dangqianhuiheshu); 
				fangyulizengyipanding(1,i,dangqianhuiheshu);
				fangyulifumianpanding(1,i,dangqianhuiheshu);
				if(yekaibiaojijiji==1){
					if(zhaoyekaifadongzhe1()==1){
						if(Alice[zhaoyekaifadongzhe2()].yekaijieshushijian==dangqianhuiheshu){
							jieshu2(dangqianhuiheshu);
						}
					}else{
						if(Bob[zhaoyekaifadongzhe2()].yekaijieshushijian==dangqianhuiheshu){
							jieshu1(dangqianhuiheshu);
						}	
					}
				} 
			} 
			if(youxijieshubiaoji==1) break;
			
		}else{
			Alicepugong(sheishifangpugong(1));
			for(int i=1;i<=n;i++){
				siwangpanding(2,i);
			}
			if(jieshu111()==1){
				jieshu1(dangqianhuiheshu);
			}else if(jieshu111()==2){
				jieshu2(dangqianhuiheshu);
			}
			Alice[sheishifangpugong(1)].mp++;
			yichupanding(1,sheishifangpugong(1));
			if(Alice[sheishifangpugong(1)].tianfu==5){
				Alice[sheishifangpugong(1)].hp+=Alice[sheishifangpugong(1)].x1;
				yichupanding(1,sheishifangpugong(1));
			}
		}
		if(youxijieshubiaoji==1) break;
		for(int i=1;i<=n;i++){
			if(Alice[i].tianfu==3){
				Alice[i].hp+=Alice[i].x1;
				Alice[i].mp+=Alice[i].y1;
				yichupanding(1,i); 
			} 
		} 
		if(youxijieshubiaoji==1) break;
		int nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn;
		for(int i=1;i<=n;i++){
			yanchukaishipanding(1,i,dangqianhuiheshu);
			gongjilizengyipanding(1,i,dangqianhuiheshu);
			gongjilifumianpanding(1,i,dangqianhuiheshu); 
			fangyulizengyipanding(1,i,dangqianhuiheshu);
			fangyulifumianpanding(1,i,dangqianhuiheshu);
			if(yekaibiaojijiji==1){
				if(zhaoyekaifadongzhe1()==1){
					if(Bob[zhaoyekaifadongzhe2()].yekaijieshushijian==dangqianhuiheshu){
						jieshu1(dangqianhuiheshu);
					}
				}else{
					if(Alice[zhaoyekaifadongzhe2()].yekaijieshushijian==dangqianhuiheshu){
						jieshu2(dangqianhuiheshu);
					}
				}
			} 
		}
		if(youxijieshubiaoji==1) break;
		if(panduanshifoushifangjineng(1)==1){
			int sheifangjineng=panduansheifangjineng(1);
			if(Bob[sheifangjineng].jineng==0){
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==1){
				gelinzhalie(1,sheifangjineng,Bob[sheifangjineng].x2);	
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==2){
				zhoujidaodan(1,sheifangjineng);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==3){
				tianloubaduanjian(1,sheifangjineng,Bob[sheifangjineng].x2);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==4){
				Bob[sheifangjineng].mp++;
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==5){
				tianlangshizhan(1,sheifangjineng,Bob[sheifangjineng].x2);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==6){
				diqiulanseshandian(1,sheifangjineng,Bob[sheifangjineng].x2,Bob[sheifangjineng].y2);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==7){
				jiguangzhanfang(1,sheifangjineng,Bob[sheifangjineng].x2,Bob[sheifangjineng].y2,Bob[sheifangjineng].z2);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==8){
				liuying(1,sheifangjineng,Bob[sheifangjineng].x2,Bob[sheifangjineng].y2);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else if(Bob[sheifangjineng].jineng==9){
				jinglingbihu(1,sheifangjineng,Bob[sheifangjineng].x2,Bob[sheifangjineng].y2,Bob[sheifangjineng].z2);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
			}else{
				yekai(1,sheifangjineng,Bob[sheifangjineng].x2,dangqianhuiheshu);
				xintaibengle();
				Bob[sheifangjineng].mp++;
				yichupanding(1,sheifangjineng);
				if(Bob[sheifangjineng].tianfu==5) Bob[sheifangjineng].mp+=Bob[sheifangjineng].y1;
				yekaibiaojijiji=1;
			}
			for(int i=1;i<=n;i++){
				yichupanding(1,i);
				yichupanding(2,i);
				if(jieshu111()==1){
					jieshu1(dangqianhuiheshu);
				}else if(jieshu111()==2){
					jieshu2(dangqianhuiheshu);
				}
				yanchukaishipanding(1,i,dangqianhuiheshu);
				gongjilizengyipanding(1,i,dangqianhuiheshu);
				gongjilifumianpanding(1,i,dangqianhuiheshu); 
				fangyulizengyipanding(1,i,dangqianhuiheshu);
				fangyulifumianpanding(1,i,dangqianhuiheshu);
			} 
			if(youxijieshubiaoji==1) break;
			
		}else{
			Bobpugong(sheishifangpugong(1));
			for(int i=1;i<=n;i++){
				siwangpanding(2,i);
			}
			if(jieshu111()==1){
				jieshu1(dangqianhuiheshu);
			}else if(jieshu111()==2){
				jieshu2(dangqianhuiheshu);
			}
			Bob[sheishifangpugong(1)].mp++;
			yichupanding(1,sheishifangpugong(1));
			if(Bob[sheishifangpugong(1)].tianfu==5){
				Bob[sheishifangpugong(1)].hp+=Bob[sheishifangpugong(1)].x1;
				yichupanding(1,sheishifangpugong(1));
			}
		}
		if(youxijieshubiaoji==1) break;
		for(int i=1;i<=n;i++){
			if(Bob[i].tianfu==3){
				Bob[i].hp+=Bob[i].x1;
				Bob[i].mp+=Bob[i].y1;
				yichupanding(1,i); 
			} 
		} 
		if(youxijieshubiaoji==1) break;
	}
	return 0;
} 

本蒟蒻极有可能错的很多,希望dalao指正;

如果大佬们看不懂变量名请拼拼音,除了少数

2024/9/4 16:45
加载中...