据古代传说记载,所罗门王既是智慧的代表,又是财富的象征。他建立了强大而富有的国家,聚集了大批的黄金象牙和钻石,并把这些价值连城的珍宝藏在一个神秘的地方,这就是世人瞩目的“所罗门王的宝藏”。多少个世纪以来,人们一直在寻找这批早已失落的古代文明宝藏,寻找盛产黄金和钻石的宝地。曾经追寻所罗门王宝藏的冒险者们都一去不回,至今没人解开这个谜题。亨利男爵在一次幸运的旅途中意外地得到了三百年前一位葡萄牙贵族留下的写在羊皮卷上的所罗门王的藏宝图和一本寻宝秘籍。在这张藏宝图的诱惑下,亨利男爵邀请约翰上校和勇敢的猎象人夸特曼开始了寻找埋葬在黑暗地底的所罗门王宝藏的艰险历程。他们横穿渺无边际的沙漠和浓荫蔽日的原始森林,越过汹涌澎湃的激流险滩,翻越高耸入云的峻岭雪山,饱尝沙漠的酷热和冰雪严寒,在藏宝图的指引下来到非洲一个原始的神秘国度库库安纳。这里有残酷的人殉制度,有一个拥有一千个妻室的独眼暴君特瓦拉,有像兀鹫一般丑恶诡诈老而不死的女巫加古尔,还有美丽聪慧的绝代佳人弗拉塔。在这片陌生而又险象环生的土地上三位寻宝英雄历尽艰辛,终于在绝代佳人弗拉塔的帮助下在海底深处找到了珍藏这批价值连城宝藏的巨大的藏宝洞。然而在女巫加古尔的精心策划下,一场灭顶之灾正在悄悄逼近。
藏宝洞的洞门十分坚固且洞门紧闭,如果不知道开启洞门的秘密是无法打开藏宝洞的洞门。在藏宝洞的洞门一侧有一个奇怪的矩形密码阵列。根据寻宝秘籍的记载,在密码阵列每行的左侧和每列的顶端都有一颗红宝石按钮。每个按钮都可以向左或向右转动。每向左转动一次按钮,相应的行或列中数字都增 1。每向右转动一次按钮,相应的行或列中数字都减 1。在矩形密码阵列的若干特定位置镶嵌着绿宝石。只有当所有绿宝石位置的数字与藏宝图记载的密码完全相同,紧闭的洞门就会自动缓缓打开。女巫加古尔早已得知开门的秘密。为了阻止寻宝者打开洞门,女巫加古尔为开门的密码阵列设置了全0的初始状态。试图打开洞门的寻宝者如果不能迅速转动按钮使所有绿宝石位置的数字与藏宝图记载的密码完全相同,就会自动启动藏宝洞玄妙的暗器机关,使寻宝者遭到灭顶攻击而死于非命。
您能帮助三位寻宝英雄顺利打开藏宝洞的洞门吗?
编程任务:对于给定的密码阵列,找到获得正确密码的红宝石按钮的转动序列。

输入

输入的第一行中有一个正整数T(T≤5)表示有T组数据。每组数据的第一行有3个正整数n,m和k,表示洞门密码阵列共有n行和m列,0<n,m,k≤1000。各行从上到下依次编号为1,2,…,n;各列从左到右依次编号为1,2,…,m。接下来的k行中每行有三个整数x,y,c,分别表示第k个绿宝石在密码阵列中的位置和密码,x为行号y为列号,c为该位置处的密码

输出

对于每组数据,用一行输出 Yes 或者 No。输出 Yes 表示存在获得正确密码的红宝石按钮的转动序列。输出 No 则表示无法找到获得正确密码的红宝石按钮的转动序列。

我的思路是  如果可以由零矩阵转化而来,就yes否则no,根据矩阵的性质,可以判断任意两行两列差值相等,也就可以推出只要满足相邻两行两列差值相等就可以,but wa。why。

我的代码  错了!!!

#include<stdio.h>
#include<queue>
#include<math.h>
#include<time.h>
#include<string.h>
#include<vector>
#include<algorithm>
#include<iostream>
#include<set>
#include<map>
#include<stack>
#define LL long long
#define mem(a,b) memset(a,b,sizeof(a))
#define lowbit(a) a&(-a)
#define PI acos(-1)
#define shortime(a)  std::ios::sync_with_stdio(a);
using  namespace std;
const LL mod=998244353;
//long long cmp(node a,node b){ if(a.x==b.x) return a.r>b.r;return a.x>b.x;}
LL  quick(LL x,LL n,LL mod){ LL ans=1,temp=x%mod; while(n){if(n%2==1){ ans=(ans*temp)%mod;} n/=2;temp=temp*temp%mod;}return ans%mod;}
int maxn (int a,int b,int c){return max(max(a,b),max(b,c));}
LL min(LL a,LL b) {return a<b?a:b;}
int gcd (int a,int b){return b==0?a:gcd(b,a%b);}
LL a[1010][1010];
int main()
{int t;scanf("%d",&t);while(t--){int n,m,k;scanf("%d%d%d",&n,&m,&k);mem(a,0);for(int i=0;i<k;i++){int x,y;LL cost;scanf("%d%d%lld",&x,&y,&cost);a[x][y]+=cost;}int flag=0;for(int i=1;i<=n;i++){for(int j=2;j<=m;j++){if((a[i][j]-a[i-1][j])!=(a[i][j-1]-a[i-1][j-1])){flag=1;break;}}if(flag) break;}if(flag){printf("No\n");continue;}for(int i=1;i<=m;i++){for(int j=2;j<=n;j++){if((a[i][j]-a[i-1][j])!=(a[i][j-1]-a[i-1][j-1])){flag=1;break;}}if(flag) break;}if(flag) {printf("No\n");continue;}printf("Yes\n");}return 0;
}

大佬讲解后 ,大佬的思路。

#include<stdio.h>
#include<queue>
#include<math.h>
#include<time.h>
#include<string.h>
#include<vector>
#include<algorithm>
#include<iostream>
#include<set>
#include<map>
#include<stack>
#define LL long long
#define mem(a,b) memset(a,b,sizeof(a))
#define lowbit(a) a&(-a)
#define PI acos(-1)
#define shortime(a)  std::ios::sync_with_stdio(a);
using  namespace std;
const LL mod=998244353;
//long long cmp(node a,node b){ if(a.x==b.x) return a.r>b.r;return a.x>b.x;}
LL  quick(LL x,LL n,LL mod){ LL ans=1,temp=x%mod; while(n){if(n%2==1){ ans=(ans*temp)%mod;} n/=2;temp=temp*temp%mod;}return ans%mod;}
int maxn (int a,int b,int c){return max(max(a,b),max(b,c));}
LL min(LL a,LL b) {return a<b?a:b;}
int gcd (int a,int b){return b==0?a:gcd(b,a%b);}int row[1010][1010],col[1010][1010],vis1[1010][1010],vis2[1010][1010];
int judge(int x,int y,int a)
{if(x>y) return -a;return a;
}
int main()
{int t;scanf("%d",&t);while(t--){int n,m,k;scanf("%d%d%d",&n,&m,&k);int x[1010],y[1010];int cost[1010],flag=0;mem(cost,0);mem(row,0);mem(col,0);mem(vis1,0);mem(vis2,0);for(int i=0;i<k;i++){scanf("%d%d%d",&x[i],&y[i],&cost[i]);}for(int i=0;i<k;i++){for(int j=i+1;j<k;j++){if(vis2[x[i]][x[j]]==0&&y[i]==y[j]){row[x[i]][x[j]]=judge(x[i],x[j],cost[i]-cost[j]);vis2[x[i]][x[j]]=1;}else if(y[i]==y[j]&&row[x[i]][x[j]]!=judge(x[i],x[j],cost[i]-cost[j]))flag=1;if(vis1[y[i]][y[j]]==0&&x[i]==x[j]){col[y[i]][y[j]]=judge(y[i],y[j],cost[i]-cost[j]); vis1[y[i]][y[j]]=1;}else if(x[i]==x[j]&&col[y[i]][y[j]]!=judge(y[i],y[j],cost[i]-cost[j]))flag=1;}}for(int i=1;i<=n;i++)  if(vis2[i][i]==1&&row[i][i]!=0) flag=1;for(int j=1;j<=m;j++)  if(vis1[j][j]==1&&col[j][j]!=0) flag=1;if(flag) printf("No\n");else printf("Yes\n");}return 0;
}

中石油 所罗门的宝藏相关推荐

  1. 中石油2018年秋季C语言 试卷答案,[石油华东]《数据采集系统》2018年秋季学期在线作业...

    <数据采集系统>2018年秋季学期在线作业(一) 中石油华东作业资料www.op5n.com整理提供 一.单选题: 1.[单选题]n路的多路模拟开关,每路断开的开关的漏电流均为IR,开关的 ...

  2. 中石油在意大利加油站0.5分/升,会不会赔死啊?

    中石油在意大利新开加油站无论柴油还是汽油只需要0.5欧分/每升,看到这个消息,广大网友都炸天了,为啥油价这么低呢?这是不是双重标准呢?要是加满10次,免费送一辆兰博基尼那不是更带劲? 我们先来看一下事 ...

  3. 与中石油分享SOA成功实践

    中国石油天然气集团公司的"生产运行管理系统"系统是一个地域上覆盖了中国石油十大油田,业务领域涵盖了物理勘探.钻井工程.测井.录井.试油和井下作业等专业应用的信息管理系统.在这个项目 ...

  4. 中石油布局天然气商储 天然气国家储备有望

    http://www.sina.com.cn 2007年09月29日 09:12 华夏时报 本报记者 王冰凝 北京报道 9月26日,总投资90.22亿元,中石油大连液化天然气(以下简称LNG)项目在大 ...

  5. 俄油与中石油达成为期10年的协议;苏伊士完成股东联合体收购,苏冰岚履职首席执行官 | 能动...

    石油和化工 燕山石化制氢项目顺利通过依据T/CAB 0078-2020<低碳氢.清洁氢及可再生氢标准及评级>的审核,并获得由TUV南德意志集团颁发的全国首张清洁氢证书.作为2022年北京冬 ...

  6. 拆分中石油:多种方案流传 但启动阻力重重

    公司报道时代周报张蕊2013-10-10 00:25 我要分享 腾讯微博 QQ空间 QQ好友 新浪微博 2512 转播到腾讯微博 本报记者 张蕊 发自北京 余勇最近的生活已经完全被打乱了,他已经半个月 ...

  7. 中石油、长安、奥动新能源合作打造换电站;玛氏箭牌与阿里巴巴合作同城零售 | 美通企业日报...

    今日看点:中石油.长安.奥动三方合作全国首座综合能源站.玛氏箭牌与阿里巴巴同城零售事业群达成同城汇战略合作.奢侈品电商Mytheresa公司上市.岭南酒店品牌布局加速度,2020年新签27个项目.雅高 ...

  8. 中石油即时通手机版显示服务器登录失败,中石油即时通手机最新版app

    中石油即时通手机最新版app这是一款专注于中国石油集团内部员工的即时通讯软件,软件包括工作看板.网络日程.项目计划.待办事宜.工作日志.签到考勤.云记事本.新闻公告.通知.工作流审批.移动客户管理等常 ...

  9. 中石油中石化的数字化变革:中国石油数字化油田迈入物联网与云计算时代!

    中国石油数字化油田迈入物联网与云计算时代! 中国石油全面推进"十二五"信息技术总体规划实施,一批批数字化油田相继迈上新台阶,在为全面建成世界水平综合性国际能源公司,努力实现信息化与 ...

  10. 澳大利亚公司称与中石油达成巨额售气协议

    http://www.sina.com.cn 2007年09月08日 02:40 中国证券网-上海证券报   ⊙本报记者 李雁争 昨日,记者从澳大利亚头号油气生产商伍德赛德石油公司(Woodside) ...

最新文章

  1. 如何看待计算机视觉未来的走向?
  2. 不愧是北大疯人院!阿里数学竞赛决赛,入围人数超过清华和南大之和!
  3. Silverlight 应用程序之间在客户端通信
  4. 一个程序员的爱情故事
  5. 十一、伪指令、数据类型、操作符
  6. 宝塔面板不能备份数据库,数据库备份大小20K,数据库备份报错mysqldump: Got error: 1045: Access denied for user 'root'@'localhost'
  7. openstack云计算实践-老男孩架构师课程教案笔记分享
  8. DOD,与cisco三层模型
  9. 自动化刷EOS资金盘(类Fomo3D)游戏
  10. 倾斜摄影当中模型精度和测绘当中的分辨率/比例尺是怎么回事?
  11. 2020年河南省计算机对口升学分数线,2020年河南省单招分数线出来了吗?
  12. 在STM32上实现NTFS之4:GPT分区表的C语言实现(1):主GPT表头的实现
  13. linux arm关闭光栅,基于Linux的光栅检测系统的软件设计与实现.pdf
  14. 泉州计算机公司排名2015,福建企业100强榜单出炉!分布在这些地方
  15. java-编写简单的编辑器
  16. 程序出现错误如何解决
  17. 地图网站,二三维地图
  18. [日推荐]『装逼助手』一秒变土豪
  19. 安全计算:Avast Home Edition提供免费的病毒防护
  20. 计算机网络2 物理层

热门文章

  1. 微生物组-扩增子16S分析和可视化(2022.7)
  2. 漫步数理统计三十四——顺序统计量
  3. IT产业第一定律:摩尔定理
  4. 如何将pdf分割成一页一页的
  5. 全球四大会计师事务所
  6. 教你如何免费使用云服务器
  7. DAS、SAN和NAS三种存储方式
  8. 微型计算机原理(第六版)姚向华编著(转载请注明出处---https://www.cnblogs.com/qingl)...
  9. python自动更新excel数据_如何更新Excel数据?(刷新所有查询)
  10. 台式计算机如何上无线网络,台式机如何无线上网