11991 - Easy Problem from Rujia Liu?

2024-09-07 18:08
文章标签 problem easy liu 11991 rujia

本文主要是介绍11991 - Easy Problem from Rujia Liu?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题意:

输入一串整型数列,再输入两个数k,v,输出第k个v的序号。不存在则输出0,如第一个样例

8 4
1 3 2 2 4 3 2 1
1 3              //第1个3,序号为2,输出2
2 4              //第2个4,不存在,输出0
3 2              //第3个2,序号为7,输出7
4 2
思路:

struct num
{
    int value;
    vector<int> xuhao;//存值为value的序号
};
vector<struct num> L;
解题心得:

敲题时同时注解,方便查错,细心

代码:

#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
struct num
{int value;vector<int> xuhao;
};
vector<struct num> L; 
int main()
{int n,m;while(~scanf("%d%d",&n,&m)){int i=1;int temp;for(i=1;i<=n;i++){scanf("%d",&temp);//寻找L中是否存在value=temp的结构体vector<struct num>::iterator it;for(it=L.begin();it!=L.end();it++){if(it->value==temp)//存在,则插入下标{it->xuhao.push_back(i);break;}}if(it==L.end())//不存在{//创建一个结构体,value=temp,下标以插入xuhaostruct num num_1;num_1.value=temp;num_1.xuhao.push_back(i);L.push_back(num_1);}}//处理输出部分int a1,a2;for(i=1;i<=m;i++){scanf("%d%d",&a1,&a2);//先判断是否存在a2vector<struct num>::iterator it;for(it=L.begin();it!=L.end();it++){if(it->value==a2)//存在a2,继续判断是否存在,第a1个a2;{if(it->xuhao.size()<a1) printf("0\n");else{printf("%d\n",it->xuhao[a1-1]);}break;}}if(it==L.end()){printf("0\n");}}}return 0;
}


这篇关于11991 - Easy Problem from Rujia Liu?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

LibSVM学习(六)——easy.py和grid.py的使用

我们在“LibSVM学习(一)”中,讲到libSVM有一个tools文件夹,里面包含有四个python文件,是用来对参数优选的。其中,常用到的是easy.py和grid.py两个文件。其实,网上也有相应的说明,但很不系统,下面结合本人的经验,对使用方法做个说明。        这两个文件都要用python(可以在http://www.python.org上下载到,需要安装)和绘图工具gnup

【开发工具】开发过程中,怎么通过Easy JavaDoc快速生成注释。

文章目录 引言什么是Easy JavaDoc?Easy JavaDoc用来干什么?如何使用Easy JavaDoc?安装Easy JavaDoc配置Easy JavaDoc使用Easy JavaDoc生成注释 Easy JavaDoc与IDEA自带注释的区别IDEA自带注释Easy JavaDoc Easy JavaDoc的优缺点优点缺点 步骤 1:打开设置步骤 2:找到Easy JavaD

HDU 1016 Prime Ring Problem (深搜)

OJ题目 : click here ~~ 大概题意:n个数,形成一个环,使得相邻两个数的和为素数。以1开始,按字典序输出序列。 很简单的深搜。 AC_CODE int n;int visit[22];int num[22];int len;bool Is_prime(int x){for(int i = 2;i*i <= x;i++)if(x%i == 0) return

LVM 'Can’t open /dev/sdb1 exclusively. Mounted filesystem?' Problem

在将几块盘做LVM时,遇到一个之前都没遇到过的问题: root@ubuntu:~# pvcreate /dev/sdc1Can't open /dev/sdc1 exclusively. Mounted filesystem? 首先第一反应就是查看这个分区是否已经在使用了,但是没有。 查看硬盘的一些信息: root@ubuntu:~# cat /proc/partitionsmajo

easy简化封装

//confirm function Confirm(msg, control) {$.messager.confirm('确认', msg, function (r) {if (r) {eval(control.toString().slice(11));}});return false;}//loadfunction Load() {$("<div class=\"datagrid-ma

【HDU】3861 The King’s Problem 强连通缩点+有向图最小路径覆盖

传送门:【HDU】3861 The King’s Problem 题目分析:首先强连通缩点,因为形成一个环的王国肯定在一条路径中,这样才能保证拆的少。 然后缩点后就是DAG图了,由于题目要求的是最小路径覆盖,那么二分匹配即可。 代码如下: #include <cstdio>#include <cstring>#include <algorithm>#includ