Sicily 2012 King[Special judge] (不是水题胜似水题)
题目的意思是:在这个柔弱强食的年代,能打架才是王道,打架最强才能称霸天下
给你1000个人
如果A打赢B,那么A可以傲视B
如果A打赢B,B能打赢C,那么A可以傲视C
问你谁能傲视群雄?
这个题很容易被误导成为一个可达性问题,但是不是。
其实如果A打赢B,B能打赢C,C能打赢D,A是不能傲视D的,所以不是可达性问题,可达算法的时间复杂度能到O(n*n*n)
其实可以理解成为一个简单矩阵相乘,当然简单矩阵相乘也能达到O(n*n*n)。
加几个判断吧,已经能直接傲视就不找帮手了,这样虽然耗时很多但是勉强能过。
废话不多说,代码如下:
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;char a[1001][1001];
int b[1001][1001];int main()
{int n;int t;int i;int j;int sum;int flag = 0;while(scanf("%d", &n) != EOF){for(i = 0; i < n; i++){scanf("%s", a[i]);}for(i = 0; i < n; i++){for(j = 0; j < n; j++){b[i][j] = 0;if(a[i][j] - '0' == 1){b[i][j] += a[i][j] - '0'; }else{for(t = 0; t < n; t++){ b[i][j] += (a[i][t] - '0') * (a[t][j] - '0'); if(b[i][j]){break;}}}}}flag = 0;for(i = 0; i < n; i++){sum = 0;for(j = 0; j < n; j++){if(b[i][j] > 0){sum++; }}if(sum == n - 1){flag = 1;printf("%d\n", i + 1);break;}}if(flag == 0){printf("-1\n");}}return 0;
}
Sicily 2012 King[Special judge] (不是水题胜似水题)相关推荐
- Special Judge Ⅲ(这道题考的就是出栈序列判定_关键代码不差什么)
Description Q:什么是 Special Judge,Special Judge 的题目有什么不同? A:一个题目可以接受多种正确方案,即有多组解的时候,题目就必须被 Special Jud ...
- 【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)
Special Judge:当正确的输出结果不唯一的时候需要的自定义校验器 首先有个框架 #include<fstream> ifstream fin,fout,fstd ofstream ...
- HUSTOJ特判程序Special Judge使用方法整理
2021.08.12更新:最新优化的编写方法请参见https://blog.csdn.net/winter2121/article/details/104901188 Special Judge 通常 ...
- Special Judge(特判程序)在OnlineJudge(在线判题系统)中的使用方法
引言 最近搭了一个OnlineJudge,在一些比赛中,为了避免选手骗过测试,所以一个比较完善的OJ测试必须加上Special Judge 例如:题目要求:求a+b的值 测试用例: 输入1 2 输出: ...
- UOJ的special judge写法
UOJ的special judge写法 配置步骤 修改problem.conf chk.cpp 配置步骤 修改problem.conf 和传统题配置相比,spj的题区别就在于自定义了checker. ...
- h5软盘占位把定位内容往上顶_安徽省计算机一级考试选择题、操作题、打字题库2012年上半年版.xls...
您所在位置:网站首页 > 海量文档  > 资格/认证考试 > 计算机等级考试 安徽省计算机一级考试选择题.操作题.打字 ...
- 装水问题,有一侧面看去是半圆的储水装置,该圆的半径为R,要求往水中装入高度为h的水,使水的面积s1与半圆的面积s2的比例为r ,求h (二分法的应用拓展)
装水问题,有一侧面看去是半圆的储水装置,该圆的半径为R,要求往水中装入高度为h的水,使水的面积s1与半圆的面积s2的比例为r ,求h (二分法的应用拓展) //装水问题,有一侧面为半圆的储水装置,该圆 ...
- 我的世界服务器修改高度放水,我的世界:水不够用?学会这4种方法,教你一桶水造无限水...
原标题:我的世界:水不够用?学会这4种方法,教你一桶水造无限水 在我的世界中玩家探险时,水是相当重要的资源.玩家需要水来制造黑曜石或者制造刷石机,许多玩家都觉得水不够用,但只要用了这几个方法,再也不用 ...
- 2012年奇虎360校园招聘实习生笔试编程题
2012年奇虎360校园招聘实习生笔试编程题 1. 自己实现库函数 int atoi(const char* str); 注意两点:(1). 字符串中,符号位的处理. (2).字符串中,出现非数字 ...
最新文章
- php加入js动态效果,js怎么给输入框增加动画效果
- 研究consul的service mesh功能
- python调用函数出现未定义_python – 为什么函数参数之外的“self”会给出“未定义”的错误?...
- Vue静态资源的获取
- 为什么拼多多没有购物车?
- 某业务付费统计脚本问题排查
- Redis安装-win-linux-mac
- redis源码之main()函数剖析
- Linux时间date与timedatectl
- 移动端常用的四个框架
- JS实现继承的七种方法
- java加载jdbc驱动,加载JDBC驱动
- R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)
- numpy - np.asarray
- 我对javascript面向对象编程的理解---------继承
- 三月主题读书整理——整理收纳,过心动生活
- 静态市盈率和动态市盈率
- ubuntu下CHM阅读器
- 2008'中国地理信息系统优秀工程公示
- 【测评】国外AR平台ENTITI测评-网页编辑器(1)