HDU 3378
http://acm.hdu.edu.cn/showproblem.php?pid=3378
规则去玩三国杀就理解了
纯模拟
注意的点:有已经分出胜负但还在杀的情况出现,所以要每次杀操作前判断是否分出胜负,如果已经分出胜负了就continue,不用接着往下操作
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std ;
int n ;
typedef struct L{
char js[] ;
int al ;
int esc ;
int sc ;
}L ;
L kk[] ;
int pk ;
int bjnj,wnj ;
int ok()
{
int f= ;
int cntfz= ;
int cntnj= ;
int cntzc= ;
for(int i= ;i<n ;i++)
{
if(!strcmp(kk[i].js,"ZG"))
{
if(kk[i].al)
f= ;
}
if(!strcmp(kk[i].js,"FZ"))
{
if(kk[i].al)
cntfz++ ;
}
if(!strcmp(kk[i].js,"NJ"))
{
if(kk[i].al)
{
bjnj=i ;
cntnj++ ;
}
}
if(!strcmp(kk[i].js,"ZC"))
{
if(kk[i].al)
cntzc++ ;
}
}
if(!(cntzc+cntfz) && cntnj== && f)
{
pk= ;
wnj=bjnj ;
}
if(!(cntfz+cntnj))
{
if(pk)
{
kk[wnj].sc=n ;
}
for(int i= ;i<n ;i++)
{
if(!strcmp(kk[i].js,"ZG"))
kk[i].sc=+cntzc*+kk[i].esc ;
if(!strcmp(kk[i].js,"ZC"))
kk[i].sc=+cntzc+kk[i].esc ;
}
return ;
}
if(!f)
{
if(cntnj== && cntfz== && cntzc==)
{
for(int i= ;i<n ;i++)
if(!strcmp(kk[i].js,"ZG"))
kk[i].sc= ;
kk[wnj].sc=+n* ;
return ;
}
for(int i= ;i<n ;i++)
{
if(!strcmp(kk[i].js,"NJ"))
if(kk[i].al)
kk[i].sc= ;
if(!strcmp(kk[i].js,"FZ"))
kk[i].sc=cntfz*+kk[i].esc ;
}
return ;
}
return ;
}
int main()
{
int t ;
scanf("%d",&t) ;
while(t--)
{
int m ;
scanf("%d%d",&n,&m) ;
for(int i= ;i<n ;i++)
{
scanf("%s",kk[i].js) ;
kk[i].al= ;
kk[i].esc= ;
kk[i].sc= ;
}
pk= ;
for(int i= ;i<m ;i++)
{
int a,b ;
scanf("%d%d",&a,&b) ;
if(ok())
continue ;
kk[b].al= ;
if(!strcmp(kk[a].js,"FZ") && (!strcmp(kk[b].js,"ZG")))
{
kk[a].esc+= ;
}
if(!strcmp(kk[a].js,"FZ") && (!strcmp(kk[b].js,"ZC")))
{
kk[a].esc++ ;
}
if(!strcmp(kk[a].js,"FZ") && (!strcmp(kk[b].js,"NJ")))
{
kk[a].esc++ ;
}
if(!strcmp(kk[a].js,"ZG") && (!strcmp(kk[b].js,"FZ")))
{
kk[a].esc++ ;
}
if(!strcmp(kk[a].js,"ZG") && (!strcmp(kk[b].js,"NJ")))
{
kk[a].esc++ ;
}
if(!strcmp(kk[a].js,"ZC") && (!strcmp(kk[b].js,"FZ")))
{
kk[a].esc++ ;
}
if(!strcmp(kk[a].js,"ZC") && (!strcmp(kk[b].js,"NJ")))
{
kk[a].esc++ ;
}
}
ok() ;
for(int i= ;i<n ;i++)
{
if(!i)
printf("%d",kk[i].sc) ;
else
printf(" %d",kk[i].sc) ;
}
putchar('\n') ;
}
return ;
}
HDU 3378的更多相关文章
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- 转载:hdu 题目分类 (侵删)
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- HDU 4006The kth great number(K大数 +小顶堆)
The kth great number Time Limit:1000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1796How many integers can you find(容斥原理)
How many integers can you find Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d ...
- hdu 4481 Time travel(高斯求期望)(转)
(转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...
随机推荐
- 在eclipse搭建python开发环境
在一次看别人帖子的时候发现,别人是用eclipse来写python代码的,所以好奇也想尝试一番,之前一直在用Pycharm,这个也确实是最好的开发python的IDE了,但是有时候也会有卡顿的情况,主 ...
- Java 面试题基础概念收集
问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 问题:Java里的传引用和传值的区别是什么? 答案:传引用是指传递的是地 ...
- SQLite-C#-帮助类
public static class SQLiteHelper { private static string connectionString = string.Empty; #region vo ...
- js 日期 处理 加减时分秒
1.日期处理 var _d = new Date("2018/01/01 12:00:00"); _d = new Date(_d.valueOf() + 60 * 1000);/ ...
- Nginx下修改wordpress固定链接后导致访问文章404
假设我的wordpress博客是的 server{}段是直接放到放到了nginx.conf (有的人为了方便管理,都习惯在单独写个vhost/目录来存放每个网站的配置文件,这就要根据你自己的设置来添 ...
- nginx的坑-org.apache.http.TruncatedChunkException: Truncated chunk( expected size: 7752; actual size: 4077)
org.apache.http.TruncatedChunkException: Truncated chunk 项目中使用请求远程接口报错 ,项目是Spring-boot的,两个项目(A和B) , ...
- DNS和Bind配置指南
/////////////////////////////目录//////////////////////////////////////一.DNS原理相关二.使用bind搭建最简单的DNS服务器三. ...
- Python读取指定文件夹(包括当前目录、子目录、子文件)
http://blog.csdn.net/lsq2902101015/article/details/51305825
- MVC,MVVM,MVP等设计模式的分析
从Script到Code Blocks.Code Behind到MVC.MVP.MVVM 三个模式按照大致的历史进程将这些概念进行划分: Script Code Blocks.Code Behind ...
- mysql 5.1.71升级到5.6.30
mysql 5.1.71升级到5.6.30 mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql 备份MySQL数据库的命令 my ...