【JZOJ】pjesma

2024-01-30 08:08
文章标签 jzoj pjesma

本文主要是介绍【JZOJ】pjesma,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pjesma

题目太麻烦了,好烦
某位神仙总是在专辑里的某首歌播放出至少一半歌词的时候猜出歌名。所有歌名的单词是唯一的(没有一个单词会出现一次或更多次)。
写一个程序,给出歌名和专辑名,看看某位神仙在这首歌的哪个点上(在多少个单词之后)猜出歌名。

输入

样例输入
3 
sedam 
gladnih 
patuljaka 
7 
sedam 
dana 
sedam 
noci 
sedam 
gladnih 
godina 

输出

样例输出
6

思路

读完歌曲后读专辑,读专辑时,边读边搜,匹配的歌曲超过半数直接输出退出

#include<iostream>
#include<cstdio>
using namespace std;
string a[20025],b[20025];
bool p[20025];
int n,m,ans;
int main()
{scanf("%d",&n);for(int i=1;i<=n;++i)cin>>a[i];scanf("%d",&m);for(int i=1;i<=m;++i){cin>>b[i];for(int k=1;k<=n;++k){if(a[k]==b[i] && !p[k])//如果匹配且没有被匹配过{ans++;//匹配数加一p[k]=1;//定义为匹配过}}if(ans>=(n+1)/2)//如果匹配个数超过半数{printf("%d",i);return 0;}}return 0;
}

这篇关于【JZOJ】pjesma的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659608

相关文章

Jzoj 条件循环(while,do while) 部分代码(共25题)

1020: 【入门】编程求1+3+5+...+n #include <bits/stdc++.h>using namespace std;int n, sum;int main() {scanf("%d", &n);for(int i=1; i<=n; i+=2){sum+=i;} printf("%d", sum);return 0;} 1012: 【入门】两数比大小 #i

Jzoj 二维数组部分代码(共13题)

2788: 【入门】二维数组的输入输出 边输入边输出 #include <bits/stdc++.h>using namespace std;int n, m, a[11][11];int main(){scanf("%d %d", &n, &m);//边输入边输出for(int i=1; i<=n; ++i){for(int j=1; j<=m; ++j){scanf("%d", &

jzoj 5770 可爱精灵宝贝

题目 题解 –是区间dp(好像dfs加神秘玄学剪枝也能过?) 首先,我们可以发现这个人走过的位置是一个区域,而且区域内部的精灵要么被抓,要么消失了(总之就是与以后的转移没有关系) 所以,状态定义: f[l][r][t] :当这个人走过区间[l,r],且目前在l处,时间为t时的最大分值 注意,l,r的左右位置要根据大小自己判断 然后我们又发现,现在这个人只有两种方法:左走或右走

[离散化][区间DP]JZOJ 5770 可爱精灵宝贝

日常黑Pokeman Go Description Branimirko是一个对可爱精灵宝贝十分痴迷的玩家。最近,他闲得没事组织了一场捉精灵的游戏。游戏在一条街道上举行,街道上一侧有一排房子,从左到右房子标号由1到n。 刚开始玩家在k号房子前。有m个精灵,第i只精灵在第A[i]栋房子前,分值是B[i],以及它在T[i]秒内(含)存在,之后消失。Branimirko可以选择移动至相邻的房子,耗时

[权值线段树]JZOJ 3236 矮人排队

Description 在七山七海之外的一个小村庄,白雪公主与N个矮人住在一起,所有时间都花在吃和玩League of Legend游戏。白雪公主决心终结这样的生活,所以为他们举办了体育课。 在每节课开始时,矮人必须按他们的身高站队。假定矮人们有高度1,2,...,N(每个人高度互不相同)。然而,由于不健康的生活方式,矮人的智力有所恶化,所以他们没有能力依照自己的高度排序。 因此,白雪公主发

JZOJ 1495. 宝石(附加扫描线讲解)

JZOJ 1495. 宝石 题目大意:给你N个 ( K + 1 ) × ( K + 1 ) (K+1)\times(K+1) (K+1)×(K+1)的正方形以及他们左上角的那个顶点的坐标和它的权值,求最大的覆盖的权值。 这一题可以用二维前缀和做,但是无法拿到满分。 满分做法:扫描线。 假如现在有这么两个长方形,权值都为1(不要问为什么是长方形,这里只是为了方便讲解而已),它们摆放如图: 首

【JZOJ A组】 大逃杀

Description 自从 Y 君退役之后,她就迷上了吃鸡,于是她决定出一道吃鸡的题。 Y 君将地图上的所有地点标号为 1 到 n,地图中有 n − 1 条双向道路连接这些点,通过一条 双向道路需要一定时间,保证从任意一个点可以通过道路到达地图上的所有点。 有些点上可能有资源,Y 君到达一个有资源的点后,可以选择获取资源来使自己的武力值增 加 wi,也可以选择不获取资源。如果 Y 君获取了

[数位dp][斯特林反演] Jzoj P5765 相互再归的鹅妈妈

Description Input Output Sample Input Input 13 1101Input 24 310Input 35 1001 Sample Output Output 11Output 21978Output 3598192244 Data Constraint 对于所有数据,保证

#线段树#JZOJ 1959 最大值

线段树 #include <cstdio>#include <cctype>#include <climits>#include <algorithm>using namespace std;struct node{int w;}tree[400001]; int a[100001],n,m,ans;inline int in(){int ans=0,f=1; char c=getc

#欧拉函数#jzoj 1709 洛谷 2158 仪仗队

题目 求C君一次能看到多少人。 分析: 首先3个点是绝对看得到的(1,0),(0,1),(1,1) 然后从第三行开始为 φ ( n − 1 ) \varphi(n-1) φ(n−1)把它们加起来*2+3便是答案。 代码 #include <cstdio>using namespace std;unsigned short n,phi[40001]; int ans;int