PAT T1021 Safe Fruit
暴力搜索加剪枝~
看的人好多...更新一下:
这道题的正解应该是求最大团之类的...暴力搜索是拿不到分的,我用了好几种奇怪的技巧用爆搜卡掉了。。。
- #include<bits/stdc++.h>
- using namespace std;
- const int maxn=;
- const int inf=1e9;
- int g[maxn][maxn];
- int c[maxn];
- int N,M;
- int mincost=1e9;
- int cost=;
- int flag;
- int tle=;
- int ans=;
- bool visit[maxn];
- vector<int> path,tmp;
- void dfs (int v,int direction) {
- tle++;
- if (tle>1e5) return;
- if (tmp.size()>path.size()) {
- path=tmp;
- mincost=cost;
- }
- else if (tmp.size()==path.size()&&cost<mincost) {
- path=tmp;
- mincost=cost;
- }
- if (direction==) {
- v++;
- while (v<=) {
- flag=;
- if (c[v]==) {
- v++;
- continue;
- }
- for (int j=;j<tmp.size();j++)
- if (g[v][tmp[j]]==) {
- flag++;
- break;
- }
- if (flag==) {
- tmp.push_back(v);
- visit[v]=true;
- cost+=c[v];
- dfs (v,);
- tmp.pop_back();
- visit[v]=false;
- cost-=c[v];
- }
- v++;
- }
- }
- else {
- v--;
- while (v>=) {
- flag=;
- if (c[v]==) {
- v--;
- continue;
- }
- for (int j=;j<tmp.size();j++)
- if (g[v][tmp[j]]==) {
- flag++;
- break;
- }
- if (flag==) {
- tmp.push_back(v);
- visit[v]=true;
- cost+=c[v];
- dfs (v,);
- tmp.pop_back();
- visit[v]=false;
- cost-=c[v];
- }
- v--;
- }
- }
- }
- int main () {
- scanf ("%d %d",&M,&N);
- int u,v;
- for (int i=;i<M;i++)
- scanf ("%d %d",&u,&v),g[u][v]=g[v][u]=;
- for (int i=;i<=N;i++) {
- scanf ("%d %d",&u,&v);
- c[u]=v;
- if (v>) ans++;
- }
- if (ans!=) dfs (,);
- else dfs (,);
- printf ("%d\n",path.size());
- sort (path.begin(),path.end());
- for (int i=;i<path.size();i++) {
- if (i!=) printf (" ");
- printf ("%03d",path[i]);
- }
- printf ("\n%d",mincost);
- return ;
- }
PAT T1021 Safe Fruit的更多相关文章
- 《转载》PAT 习题
博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...
- Warning: strftime(): It is not safe to rely on the system's timezone settings.
当运行程序时,会出现如下警告: Warning: strftime(): It is not safe to rely on the system's timezone settings. You a ...
- The Safe Navigation Operator (&.) in Ruby
The most interesting addition to Ruby 2.3.0 is the Safe Navigation Operator(&.). A similar opera ...
- 【转】php Thread Safe(线程安全)和None Thread Safe(NTS,非 线程安全)之分
Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍. ...
- PAT Judge
原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...
- PAT/字符串处理习题集(二)
B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...
- PAT 1041. 考试座位号(15)
每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...
- PAT 1040. 有几个PAT(25)
字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...
- PAT 1032. 挖掘机技术哪家强(20)
为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每行给出一位 ...
随机推荐
- React的React.createRef()/forwardRef()源码解析(三)
1.refs三种使用用法 1.字符串 1.1 dom节点上使用 获取真实的dom节点 //使用步骤: 1. <input ref="stringRef" /> 2. t ...
- JAXB "有两个名为 "**" 的属性,类的两个属性具有相同名称 "**""解决方案
这里说的名称冲突指的是: JavaBean 属性名称与字段名称之间的名称冲突.在pojo类中的setter和getter方法会导致运行报错:Exception in thread "main ...
- 并发编程之CyclicBarrier
栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生.栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行.闭锁用于等待事件,而栅栏用于等待其他线程. CyclicBarrier可以使 ...
- 删除文件时提示,你需来自SYSTEM的权限
1. 提示如下 2. 对要删除的文件操作如下 2.1 为删除的文件添加本地账户 2.2 提示如下,多点几次继续就好 2.3 给本地账户添加完全控制权限
- LoadRunner通过webservice协议调用WSDL接口时,返回值不正确
有可能是某些传参空的值导致的. 解决办法:注释掉空值传参.或者将其值转变为true ”ProductIDSpecified=true“,
- 五分钟学Java:打印Java数组最优雅的方式是什么?
在逛 Stack Overflow 的时候,发现了一些访问量像安第斯山一样高的问题,比如说这个:打印 Java 数组最优雅的方式是什么?访问量足足有 220W+,想不到啊,这么简单的问题竟然有这么多 ...
- socketserver 模块简介
一.socketserver模块简介 socketserver模块简化了网络编程,模块下有五个服务类:BaseServer.TCPServer.UDPServer.UnixStreamServer.U ...
- mybatis中条件查询大于等于和小于等于写法
原符号 < <= > >= & ' "替换符号 < <= > >= & ' " createDat ...
- HDU-1702-ACboy needs your help again!(Stack)
队列和栈的判空都可以用empty #include <bits/stdc++.h> using namespace std; string oper,stru; int T,M,num; ...
- Spring Boot 文件上传简易教程
上传文件是我们日常使用最为广泛的功能之一,比如App端上传头像.本章演示如何从客户端上传到 Spring Boot 开发的 Api中. 本项目源码 github 下载 1 新建 Spring Boot ...