博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
校省选赛第一场A题Cinema题解
阅读量:5066 次
发布时间:2019-06-12

本文共 5177 字,大约阅读时间需要 17 分钟。

今天是学校省选的第一场比赛,0战绩收工,死死啃着A题来做,偏偏一直WA在TES1。

赛后,才发现,原来要freopen("input.txt","r",stdin);freopen("output.txt","w",stdout);……

后来交了一下,Accepted了……烦恼!!!!!当是一个教训吧。

题目
Descriptioninputinput.txtoutputoutput.txtOverall there are m actors in Berland. Each actor has a personal identifier — an integer from 1 to m (distinct actors have distinct identifiers). Vasya likes to watch Berland movies with Berland actors, and he has k favorite actors. He watched the movie trailers for the next month and wrote the following information for every movie: the movie title, the number of actors who starred in it, and the identifiers of these actors. Besides, he managed to copy the movie titles and how many actors starred there, but he didn't manage to write down the identifiers of some actors. Vasya looks at his records and wonders which movies may be his favourite, and which ones may not be. Once Vasya learns the exact cast of all movies, his favorite movies will be determined as follows: a movie becomes favorite movie, if no other movie from Vasya's list has more favorite actors.Help the boy to determine the following for each movie:whether it surely will be his favourite movie;whether it surely won't be his favourite movie;can either be favourite or not.InputThe first line of the input contains two integers m and k (1 ≤ m ≤ 100, 1 ≤ k ≤ m) — the number of actors in Berland and the number of Vasya's favourite actors.The second line contains k distinct integers ai (1 ≤ ai ≤ m) — the identifiers of Vasya's favourite actors.The third line contains a single integer n (1 ≤ n ≤ 100) — the number of movies in Vasya's list.Then follow n blocks of lines, each block contains a movie's description. The i-th movie's description contains three lines:    the first line contains string si (si consists of lowercase English letters and can have the length of from 1 to 10 characters, inclusive) — the movie's title, the second line contains a non-negative integer di (1 ≤ di ≤ m) — the number of actors who starred in this movie,the third line has di integers bi, j (0 ≤ bi, j ≤ m) — the identifiers of the actors who star in this movie. If bi, j = 0, than Vasya doesn't remember the identifier of the j-th actor. It is guaranteed that the list of actors for a movie doesn't contain the same actors.All movies have distinct names. The numbers on the lines are separated by single spaces.OutputPrint n lines in the output. In the i-th line print:    0, if the i-th movie will surely be the favourite;    1, if the i-th movie won't surely be the favourite;    2, if the i-th movie can either be favourite, or not favourite. Sample InputInput5 31 2 36firstfilm30 0 0secondfilm40 0 4 5thirdfilm12fourthfilm15fifthfilm14sixthfilm21 0Output221112Input5 31 3 54jumanji30 0 0theeagle51 2 3 4 0matrix32 4 0sourcecode22 4Output2011HintNote to the second sample:    Movie jumanji can theoretically have from 1 to 3 Vasya's favourite actors.    Movie theeagle has all three favourite actors, as the actor Vasya failed to remember, can only have identifier 5.    Movie matrix can have exactly one favourite actor.    Movie sourcecode doesn't have any favourite actors. Thus, movie theeagle will surely be favourite, movies matrix and sourcecode won't surely be favourite, and movie jumanji can be either favourite (if it has all three favourite actors), or not favourite.
看题就看得很纠结啦~不过总体来说大概明白。
思路就是:
1.如果一个电影最好的情况都比其他电影最差的情况差,那么该电影一定不是最好的,即状态为1
2.再判断如果一个电影不满足最差的情况都比其他电影最好的情况好,那么该电影不一定是最好的,即状态为2
3.最后剩余的就是最好的了。
特别绕啦~关键在于,一定不是最好的,不一定是最好的,略坑。
/*******************************************************************************//* OS           : 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 UTC 2013 GNU/Linux * Compiler     : g++ (GCC)  4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) * Encoding     : UTF8 * Date         : 2014-04-01 * All Rights Reserved by yaolong.*****************************************************************************//* Description: ********************************************************************************************************************************************//* Analysis: ***********************************************************************************************************************************************//*****************************************************************************/#include
#include
#include
#include
#include
using namespace std;class Movie{public: string name; int num; int stat; int like; int hate; int zero; vector
act; Movie() {}; void resiz() { act.resize(num); }};int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int cases=0; int m,k,mov_num,i,j,tmp; int fav[120]; vector
mv; while(cin>>m>>k) { memset(fav,0,sizeof(fav)); for(i=0; i
>tmp; fav[tmp]=1; } cin>>mov_num; mv.clear(); mv.resize(mov_num); for(i=0; i
>mv[i].name; cin>>mv[i].num; mv[i].resiz(); for(j=0; j
>mv[i].act[j]; } } int maxlike=-1; int minlike=-1; for(i=0; i
=1?mv[i].stat:0; //如果没有被确定不是最好的或者未确定的,那么就是最右的 } for(i=0; i
 

转载于:https://www.cnblogs.com/dengyaolong/p/3697238.html

你可能感兴趣的文章
SpringMVC请求处理流程
查看>>
timestamp与timedelta,管理信息系统概念与基础
查看>>
第三次个人作业—“K米”评测
查看>>
“毕设导师互选系统”项目产品宣传推广方案
查看>>
处理JS中数据失真问题-随笔
查看>>
python:how does subclass call baseclass's __init__()
查看>>
【转】时间序列分析——基于R,王燕
查看>>
暑假集训考试反思+其它乱写
查看>>
XAML实例教程系列 - 命名空间(NameSpace) 三
查看>>
Bootstrap学习之二:栅格化布局
查看>>
gradle下载的依赖包位置 及 修改
查看>>
[翻译]opengl扩展教程2
查看>>
Windows下 VS2015编译boost1.62
查看>>
win8.1远程连接Redis数据库
查看>>
Codeforces Edu Round 64 A-D
查看>>
【08月14日】A股ROE最高排名
查看>>
【转】路由转发过程的IP及MAC地址变化
查看>>
【Java】登录操作中随机生成验证码的工具类
查看>>
【vue】vue.config.js
查看>>
HDR视频生态圈追踪
查看>>