ZOJ 3960: What Kind of Friends Are You?

What Kind of Friends Are You?

///@author Sycamore, ZJNU
///@date 4/22/2017
#include <iostream>
#include <sstream>
#include <iomanip>
#include <cmath>
#include <string>
#include <algorithm>
#include <numeric>
#include <functional>
#include <vector>
#include <set>
#include <list>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include <cctype>
#include<fstream>
//#define cin fin
//#define cout fout
//ifstream fin("in.txt");
//ofstream fout("out.txt");
using namespace std;
typedef vector<int> VI;
typedef pair<int, int> PII;

int main()
{
	ios::sync_with_stdio(false);
	int T;
	cin >> T;
	while (T--)
	{
		int n, q, c;
		cin >> n >> q >> c;
		vector<string>fr(c);
		for (auto &e : fr)cin >> e;
		vector<vector<short>>ans(c);
		for (auto &e : ans)e.resize(q);
		for (int i = 0; i < q; i++)
		{
			int m; cin >> m;
			string s;
			for (int j = 0; j < m; j++)
			{
				cin >> s;
				ans[find(begin(fr), end(fr), s) - fr.begin()][i] = 1;
			}
		}

		for (int i = 0; i < n; i++)
		{
			vector<short> v(q);
			for (int j = 0; j < q; j++)
				cin >> v[j];
			if (count(ans.begin(), ans.end(), v) == 1)cout << fr[find(ans.begin(), ans.end(), v) - ans.begin()] << endl;
			else cout << "Let‘s go to the library!!\n";
		}

	}
	return 0;
} 
时间: 2024-10-21 08:59:13

ZOJ 3960: What Kind of Friends Are You?的相关文章

2017浙江省赛 C - What Kind of Friends Are You? ZOJ - 3960

地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3960 题目: Japari Park is a large zoo home to extant species, endangered species, extinct species, cryptids and some legendary creatures. Due to a mysterious substance known as Sandstar, a

zoj 3960 What Kind of Friends Are You?(哈希)

What Kind of Friends Are You? Time Limit: 1 Second      Memory Limit: 65536 KB Japari Park is a large zoo home to extant species, endangered species, extinct species, cryptids and some legendary creatures. Due to a mysterious substance known as Sands

zoj 3960(矩阵快速幂)

题意:有n个人坐成一排,每个人从1-m中选出一个数字,只有一个规则,如果相邻两个人选出的数字相同,这个数字必须大于等于k(k <= m),问n个人选数字一共有多少种方法. 题解:需要递推,定义一个数组f[i]表示要放第i个数字大于等于k的方法数,g[i]表示要放第i个数字小于k的方法,结果当然就是f[n] + g[n]. f[i] = f[i - 1] * (m - k) + g[i - 1] * (m - k) g[i] = f[i - 1] * k + g[i - 1] * (k - 1)

ZOJ 3960 What Kind of Friends Are You?(读题+思维)

题目链接 :http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5592 Japari Park is a large zoo home to extant species, endangered species, extinct species, cryptids and some legendary creatures. Due to a mysterious substance known as Sandstar, all

关于 省赛模拟赛(迪迦桑专场)

这一次的小比赛,因为全是英文题,导致了我们队的心态有点崩,以前很少打这种全是英文的比赛, 但是我们明知道以后还会打这种比赛, 却没有提前做好准备. 这一次的比赛我们全程跟着榜单走, 我们队一开始采取了2+1的打法, 让一个人去钻一道题, 其他两个人去快速的解决一些简单的题, 然后在解决两道题之后, 变为了一人钻一题的模式, 但是依旧没有太大的突破. 这一次我写的是C题,因为一个小漏洞,导致了一直WA,最后还是没有找出来....以后多去找一些细节问题,做到下次不会再栽在这个问题上面. C - Wh

概率dp ZOJ 3640

Help Me Escape Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice ZOJ 3640 Appoint description:  System Crawler  (2014-10-22) Description Background     If thou doest well, shalt thou not be accepted? an

zoj 2156 - Charlie&#39;s Change

题目:钱数拼凑,面值为1,5,10,25,求组成n面值的最大钱币数. 分析:dp,01背包.需要进行二进制拆分,否则TLE,利用数组记录每种硬币的个数,方便更新. 写了一个 多重背包的 O(NV)反而没有拆分快.囧,最后利用了状态压缩优化 90ms: 把 1 cents 的最后处理,其他都除以5,状态就少了5倍了. 说明:貌似我的比大黄的快.(2011-09-26 12:49). #include <stdio.h> #include <stdlib.h> #include <

ZOJ 1718 POJ 2031 Building a Space Station 修建空间站 最小生成树 Kruskal算法

题目链接:ZOJ 1718 POJ 2031 Building a Space Station 修建空间站 Building a Space Station Time Limit: 2 Seconds      Memory Limit: 65536 KB You are a member of the space station engineering team, and are assigned a task in the construction process of the statio

ZOJ 3607 Lazier Salesgirl (贪心)

Lazier Salesgirl Time Limit: 2 Seconds      Memory Limit: 65536 KB Kochiya Sanae is a lazy girl who makes and sells bread. She is an expert at bread making and selling. She can sell the i-th customer a piece of bread for price pi. But she is so lazy