HRBUST 1162 魔女【DP】
Description |
平行世界是动漫作品中经常涉及的题材,而且往往这些作品都相当的精彩,如《寒蝉鸣泣之时》、《CLANNAD》、《魔法少女小圆》、《命运石之门》等。世界从诞生到结束,最终又轮回到诞生。无论命运如何的绝对,在无数次的轮回中终将被打破,犹如掷骰子,在无限接近于零但不等于零的机率中往复。这样在无限的反复和轮回中,将其可能性放大到100%。最典型的人物就是《海猫鸣泣之时》中的能无限次引发奇迹力量的“奇迹之魔女”贝伦卡斯泰露。而与此对应的是能够让事件发生的可能性无限接近于零“绝对的魔女”拉姆达戴露塔。在故事中,贝伦的目的是为了令主角战人在黄金魔女的游戏中“赢”,而拉姆达的目的则是为了让游戏永远“平局”下去。 |
Input |
有多组数据,第一行是一个整数n表示事件的数目。(2<=n<=100) |
Output |
对于每组测试数据,第一行输出一个k表示有多少个人物可能获胜,接下来的k行每行输出一个人物的编号,编号从小到大输出。 |
Sample Input |
3
2
0 0 1 0 |
Sample Output |
3 |
思路:和lrj的例题决斗思路一样,meet[i,j]表示是否有可能i和j相遇, 则第i个人能取得最后的胜利当且仅当meet[i,i]为true.如果i最后能碰到自己,即她能存留下来
#include<stdio.h>
#include<string.h>
int meet[103][103], d[103][103];
int main()
{
int n, i, t, j, k, mm;
while(scanf("%d", &n)!=EOF)
{
memset(d, 0, sizeof(d));
memset(meet, 0, sizeof(meet));
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%d", &mm);
if(mm==1)
d[i][j]=1;
}
}
for(i=0; i<n-1; i++)
meet[i][i+1]=1, meet[i+1][i]=1;
meet[0][n-1]=1, meet[n-1][0]=1;
int flag;
for(t=2; t<=n; t++)
for(i=0;i<n;i++)
{
j=(i+t)%n;
flag=0;
for(k=(i+1)%n; k!=j; k=(k+1)%n)
{
if(meet[i][k]&&meet[k][j]&&(1==d[i][k]||1==d[j][k]))
{
meet[i][j]=1;
flag=1;
break;
}
}
if(!flag)
meet[i][j]=0;
}
int num=0;
for(i=0; i<n; i++)
if(meet[i][i])
num++;
printf("%d\n", num);
for(i=0; i<n; i++)
if(meet[i][i])
printf("%d\n", i+1);
}
return 0;
}
转载于:https://www.cnblogs.com/Hilda/archive/2012/07/31/2616789.html
HRBUST 1162 魔女【DP】相关推荐
- Hrbust 1162 魔女 【dp】
魔女 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 153(59 users) Total Accepted: 44(30 users ...
- 【UVA - 10891 Game of Sum 】【HRBUST - 1622】 Alice and Bob (区间dp,博弈问题)
题干: 有一个长度为N的整数序列,Alice和Bob轮流取数,Alice先取.每次玩家只能从左端或者右端 取一个或多个数,但不能两端都取.所有数都被取走后游戏结束,然后统计每个人取走的所有数之和, 作 ...
- HRBUST 2011【简单dp】
题意:N位士兵站成一排,长官要请其中的(N-K)位出列,使得剩下的K位士兵排成一等队形.一等队形是指这样的一种队形:设K位士兵从左到右依次编号为1,2-,K,他们的身高分别为T1,T2,-,TK, 则 ...
- 【 HRBUST - 1055】Single(模拟,dp,打表)(总结)
题干: There are many handsome single boys in our team, for example, me. Some times, we like count sing ...
- Hrbust 1837 Dream【dp】
Dream Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 13(8 users) Total Accepted: 3(3 users) ...
- 【基础dp】HRBUST 1861 猥琐宅男——koko
猥琐宅男--koko Time Limit: 1000 MS Memory Limit: 32768 K Description 唔..从前有个小胖子叫koko(QAQ...)很喜欢吃香蕉,茄子和黄瓜 ...
- hihoCoder #1162 : 骨牌覆盖问题·三 (矩阵快速幂,DP)
题意:有一个k*n的棋盘,要求用1*2的骨牌来铺满,有多少种方案?(k<8,n<100000001) 思路: 由于k是比较小,但是又不那么小,可以专门构造这样的一个矩阵M,使得只要我们有一 ...
- hrbust 2382(数位dp+二分)
极难的问题 Time Limit: 1000 MS Memory Limit: 200000 K Total Submit: 20(9 users) Total Accepted: 6(6 users ...
- bzoj 1040: [ZJOI2008]骑士 树形dp
题目链接 1040: [ZJOI2008]骑士 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3054 Solved: 1162 [Submit] ...
最新文章
- leetcode-25 K个一组反转链表
- 听说你有10年的工作经验?还是你把1个经验反复用了10年?
- ncnn tensorrt
- Docker中宿主机与容器之间互传文件(docker cp的方式)
- 网络安全-windowserver搭建DHCP服务器
- 【全链路质量监控与QoE】
- Script标签解决跨域
- 找出游戏的必胜的策略(博弈论的学习)
- 刘作虎:二次购机潮即文艺复兴时
- 窗口看门狗与独立看门狗区别
- 程序设计天梯赛——T1(15分)java版
- 怎么用计算机实现复数开平方,用你手中的计算器进行复数运算
- iOS 第三方框架-Masonry的使用
- 不要在该约炮的年纪谈佛系
- Qt信息隐藏(Q_D/Q_Q)介绍
- BZOJ1003 物流运输(dp+spfa)
- CPS平台License完稿
- 云原生应用之对象存储设计方案
- DM500 机器后面天线ANT OUT 口有什么用?
- python传参是什么意思_Python传参传什么?