这题做的我好苦啊,编码调试整整搞了一个多小时,而且调到天昏地暗才调出来。。

回归正题,这题是一道本人做过的比较烦,比较无聊的题之一。题意是一个人,在m个影星里有k个喜欢的影星,然后给出n场电影,每场电影给出演出的人的编号,0表示不确定,根据这些人的编号判断是否一定是最喜欢的电影(喜欢的影星最多的电影),或者一定不会是最喜欢的电影,或者是不确定。

做法是算出每场电影最少有多少个喜欢的影星和最多有多少个喜欢的影星,并且得出在所有电影中最少有多少个喜欢的影星和最多有多少个喜欢的影星。

如果分别用MIN和MAX来表示,则有三种情况:

1.如果这场电影的MIN不小于任意一场电影的MAX,则这场电影必为最喜欢的电影。

2.如果这场电影的MAX不大于任意一场电影的MIN,则这场电影绝对不会是最喜欢的电影

3.介于两者之间

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <string>
#include <map>
using namespace std;
#define N 107 int zero[N],vis[N],a[N];
int d[N][N];
int like[N],mlike[N];
map<int,int> mp; int main()
{
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
int m,k,chang,i,j,maxilike,ka,maximlike;
char ss[];
while(scanf("%d%d",&m,&k)!=EOF)
{
mp.clear();
for(i=;i<k;i++)
{
scanf("%d",&a[i]); //喜欢的影星编号
mp[a[i]] = ; //看编号知是否喜欢的影星
}
memset(zero,,sizeof(zero));
maxilike = maximlike = -;
scanf("%d",&chang);
for(i=;i<chang;i++)
{
scanf("%s",ss);
scanf("%d",&ka);
for(j=;j<ka;j++)
{
scanf("%d",&d[i][j]);
if(d[i][j] == )
zero[i]++;
}
if(ka == m)
{
maxilike = max(maxilike,k);
maximlike = max(maximlike,k);
mlike[i] = k;
like[i] = k;
}
else
{
int ca = ;
memset(vis,,sizeof(vis));
for(j=;j<k;j++)
vis[a[j]] = ;
for(j=;j<ka;j++)
{
if(mp[d[i][j]])
ca++;
vis[d[i][j]] = ;
}
int unvis = ;
for(j=;j<=m;j++)
{
if(!vis[j])
unvis++;
}
if(unvis < zero[i])
{
like[i] = ca + zero[i] - unvis;
mlike[i] = ca + min(zero[i],k-ca);
}
else
{
mlike[i] = ca + min(zero[i],k-ca);
like[i] = ca;
}
maxilike = max(maxilike,like[i]);
maximlike = max(maximlike,mlike[i]);
}
}
for(i=;i<chang;i++)
{
if(like[i] >= maximlike || (like[i] >= maxilike && mlike[i] == maximlike))
{
if(like[i] >= maximlike)
printf("0\n");
else
{
int flag = ;
for(j=;j<chang;j++)
{
if(j!=i && like[i] < mlike[j])
{
flag = ;
break;
}
}
if(flag)
printf("0\n");
else
printf("2\n");
}
}
else if(mlike[i] < maxilike)
printf("1\n");
else
printf("2\n");
}
}
return ;
}

Codeforces 234D Cinema的更多相关文章

  1. codeforces A. Cinema Line 解题报告

    题目链接:http://codeforces.com/problemset/problem/349/A 题目意思:题目不难理解,从一开始什么钱都没有的情况下,要向每一个人售票,每张票价格是25卢布,这 ...

  2. CodeForces 670C Cinema(排序,离散化)

    C. Cinema time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...

  3. CodeForces 670C Cinema

    简单题. 统计一下懂每种语言的人分别有几个,然后$O(n)$扫一遍电影就可以得到答案了. #pragma comment(linker, "/STACK:1024000000,1024000 ...

  4. Codeforces Round #350 (Div. 2)解题报告

    codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...

  5. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  6. Codeforces Round #350 (Div. 2) C. Cinema 水题

    C. Cinema 题目连接: http://www.codeforces.com/contest/670/problem/C Description Moscow is hosting a majo ...

  7. Codeforces Beta Round #10 B. Cinema Cashier 暴力

    B. Cinema Cashier 题目连接: http://www.codeforces.com/contest/10/problem/B Description All cinema halls ...

  8. 【26.83%】【Codeforces Round #380C】Road to Cinema

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  9. Codeforces #380 div2 C(729C) Road to Cinema

    C. Road to Cinema time limit per test 1 second memory limit per test 256 megabytes input standard in ...

随机推荐

  1. spring中常用工具类介绍

    http://www.cnblogs.com/langtianya/p/3875103.html 文件资源操作     Spring 定义了一个 org.springframework.core.io ...

  2. 个人收集整理的5Ucms标签

    {field:cid} 当前栏目id {field:id}  当前页面id {field:content} 当前页面内容 [List:Modifytime $format=yy-mm-dd] 文章发布 ...

  3. bootstrap 学习笔记

    bootstrap作为当下的流行框架不知道它怎么能行呢? 之前也看过好多bootstrap的网上教程,可是发现光看真的记不住,说起来也真是忧桑~重点还是要自己做才是真正的印象深刻.后来我发现解析模板是 ...

  4. Engine中执行gp工具返回的要素图层如何获取?

    来自:http://zhihu.esrichina.com.cn/?/question/12087 Engine中执行gp工具返回的[解决办法]:需要用gpUtils.DecodeFeatureLay ...

  5. Burp Suite使用

    Burp Suite是Web应用程序测试的最佳工具之一,其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查.本文将做一个Bu ...

  6. Supermemo背单词7周年纪念

    从2007年2月1日开始,用Supermemo背单词7周年了,在2013年11月21日将单词表Reset,重新开始Review以前背过的单词,并慢慢加入听写VOA时遇到的生词.

  7. iOS开发之网络编程--5、NSURLSessionUploadTask+NSURLSessionDataDelegate代理上传

    前言:关于NSURLSession的主要内容快到尾声了,这里就讲讲文件上传.关于文件上传当然就要使用NSURLSessionUploadTask,这里直接讲解常用的会和代理NSURLSessionDa ...

  8. IOS开发--待研究源码(持续添加更新)

    1.丰富的CAEmitterLayer制作的粒子效果,比如烟花效果 (还未研究) 该项目本人未研究,待以后有时间或者有需求再研究 github源码下载地址:https://github.com/lic ...

  9. iOS之UI--辉光动画

    前言:学习来自YouXianMing老师的博客:<辉光UIView的category>以及YouXianMing老师的github源码:< GlowView >    而我个人 ...

  10. 大家一起和snailren学java-(七)多态

    “这个系列觉得没必要这么写,不然质量不会高,还是看一段时间,自己提炼吧” 多态,也称作动态绑定,后期绑定,是三个基本特征中非常重要的一个特征.通过多态,可以消除类型之间的耦合关系.同时多态提供了扩展程 ...