- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
学科竞赛编程教研研究院C++NOIPNOIIOI
题目描述在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个N行×M列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度。引水入城为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施。水利设施有两种,分别为蓄水厂和输水站。蓄水厂的功能是利用水泵将湖泊中的水抽取到所在城市的蓄水池中。因此,只有与湖泊毗邻的第11行的城市可以建造蓄水厂。而输水站的功能则是通过输水管线利用高度落差,将湖水从高处向低处输送。故一座城市能建造输水站的前提,是存在比它海拔更高且拥有公共边的相邻城市,已经建有水利设施。由于第NN行的城市靠近沙漠,是该国的干旱区,所以要求其中的每座城市都建有水利设施。那么,这个要求能否满足呢?如果能,请计算最少建造几个蓄水厂;如果不能,求干旱区中不可能建有水利设施的城市数目。
输入输出格式输入格式:每行两个数,之间用一个空格隔开。输入的第一行是两个正整数N,M,表示矩形的规模。接下来N行,每行M个正整数,依次代表每座城市的海拔高度。输出格式:两行。如果能满足要求,输出的第一行是整数1,第二行是一个整数,代表最少建造几个蓄水厂;如果不能满足要求,输出的第一行是整数0,第二行是一个整数,代表有几座干旱区中的城市不可能建有水利设施。
输入输出样例
1PARTONEintmain(){scanf(%d%d,n,m);for(inti=1;i=m;i++)cover[i].l=f[i]=30000;f[0]=0;for(inti=1;i=n;i++){for(intj=1;j=m;j++){scanf(%d,map[i][j]);}}for(inti=1;i=m;i++){**if(map[1][i-1]=map[1][i]map[1][i+1]=map[1][i])**//优化,不优化过不了最后一个点DFS(1,i,i);memset(vis,0,sizeof(vis));//每次有哪些信誉好的足球投注网站归零}intcnt=0;for(inti=1;i=m;i++)if(!ans[i])cnt++;if(cnt)printf(0\n%d,cnt);else{cout1endl;//找最少的点for(inti=1;i=m;++i){for(intj=1;j=m;++j){if(i=cover[j].li=cover[j].r)f[i]=min(f[i],f[cover[j].l-1]+1);}}coutf[m]endl;}}#includeiostream#includemath.h#includecstdio#includecstring#includealgorithmusingnamespacestd;intn,m;intmap[505][505],vis[505][505]={0},ans[505],f[505];structnode{intl,r;}cover[505];voidDFS(intx,inty,intplace)//x横坐标,y纵坐标,place是对应那个点。{vis[x][y]=1;//记住搜过的点if(x==n){ans[y]=1;//到最后一排更新cover[place].l=min(cover[place].l,y);cover[place].r=max(cover[place].r,y);}if(x!=n!vis[x+1][y]map[x+1][y]map[x][y])DFS(x+1,y,place);if(x!=1!vis[x-1][y]map[x-1][y]map[x][y])DFS(x-1,y,place);if(y!=m!vis[x][y+1]map[x][y+1]map[x][y])DFS(x,y+1,place);if(y!=1!vis[x][y-1]map[x][y-1]map[x][y])DFS(x,y-1,place);}
题目描述S城现有两座监狱,一共关押着N名罪犯,编号分别为1-N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到S城Z市长那里。公务繁忙的Z市长只会去看列表中的第一个事件的影响力,如果影响很坏,他就会考虑撤换警察局长。在详细考察了N名罪犯间的矛盾关系后,警察局长觉得压力巨
文档评论(0)