Codeforces 234D Cinema
这题做的我好苦啊,编码调试整整搞了一个多小时,而且调到天昏地暗才调出来。。
回归正题,这题是一道本人做过的比较烦,比较无聊的题之一。题意是一个人,在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的更多相关文章
- codeforces A. Cinema Line 解题报告
题目链接:http://codeforces.com/problemset/problem/349/A 题目意思:题目不难理解,从一开始什么钱都没有的情况下,要向每一个人售票,每张票价格是25卢布,这 ...
- CodeForces 670C Cinema(排序,离散化)
C. Cinema time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...
- CodeForces 670C Cinema
简单题. 统计一下懂每种语言的人分别有几个,然后$O(n)$扫一遍电影就可以得到答案了. #pragma comment(linker, "/STACK:1024000000,1024000 ...
- Codeforces Round #350 (Div. 2)解题报告
codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- Codeforces Round #350 (Div. 2) C. Cinema 水题
C. Cinema 题目连接: http://www.codeforces.com/contest/670/problem/C Description Moscow is hosting a majo ...
- Codeforces Beta Round #10 B. Cinema Cashier 暴力
B. Cinema Cashier 题目连接: http://www.codeforces.com/contest/10/problem/B Description All cinema halls ...
- 【26.83%】【Codeforces Round #380C】Road to Cinema
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 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 ...
随机推荐
- python面向对象(一),Day6
connfigparser模块 xml模块 shutil模块以及压缩解压 subprocess模块 面向对象(上) 类和对象 onfigParser 用于对特定的配置进行操作,当前模块的名称在 pyt ...
- PHP学习笔记:利用百度api实现手机归属地查询
从来没有用过api,都不知道怎么获得api的数据,跟着demo,然后修改,终于实现了手机号码查询的功能,代码和说明很全,大家试试. <?php /** * Created by jianqing ...
- 跨平台的 SQL 客户端
The major update to SQL client was to move to the .NET Core networking libraries instead of the nati ...
- jquery TypeError: 'undefined' is not a function (evaluating 'elem.nodeName.toLowerCase()') [jquery.js:1904]错误原因
今天,某个环境报了个js错误,TypeError: 'undefined' is not a function (evaluating 'elem.nodeName.toLowerCase()') [ ...
- IPC机制--Binder
文章来自 Android技术内幕 系统卷 转:http://www.linuxidc.com/Linux/2011-08/40508.htm 什么是IPC机制以及IPC机制的种类 在Linux中,是以 ...
- RadioButton 自定义控件
在res/drawable新建radiobutton.xml(本案例为video——evaluate.xml)如下 <?xml version="1.0" encoding= ...
- styleCop
1styleCop安装 安装参考 2和VS集成 要和vs集成一定要在安装时把MSBuild files那个选项选中的,否则安装后是不会和VS集成集成的. 3styleCop使用 User Guide ...
- Telegram传奇:俄罗斯富豪、黑客高手、极权和阴谋…
说了很久要写Telegram的故事,一直拖延没有写.在我拖延的这段时间里面,Telegarm继续快速增长,前几天,在旧金山的TechCrunch Disrupt活动上,创始人Durov说现在Teleg ...
- 文科生也能看懂的iptables教程(转载)
据说还是个MM, 写得很通俗易懂, 还很诙谐, 原文:http://dallascao.com/cn/iptables-tutorial-for-newbies/ 对于斗胆开始玩vps的文科生来讲,i ...
- 转:使用Nlog记录日志到数据库
原文:http://www.cnblogs.com/Gyoung/archive/2012/10/18/2729613.html Nlog是一个很不错的.NET日志记录组件,它可以将日志输出到控件台, ...