迷之好奇

Time Limit: 2000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

FF得到了一个有n个数字的集合。不要问我为什么,有钱,任性。

FF很好奇的想知道,对于数字x,集合中有多少个数字可以在x前面添加任意数字得到。

如,x = 123,则在x前面添加数字可以得到4123,5123等。

输入

多组输入。

对于每组数据

首先输入n(1<= n <= 100000)。

接下来n行。每行一个数字y(1 <= y <= 100000)代表集合中的元素。

接下来一行输入m(1 <= m <= 100000),代表有m次询问。

接下来的m行。

每行一个正整数x(1 <= x <= 100000)。

输出

对于每组数据,输出一个数字代表答案。

示例输入

3
12345
66666
12356
3
45
12345
356

示例输出

1
0
1

算法分析:数据量太大,常规的算法必然超时,并且那样做我个人感觉描述起来相当麻烦。

换个想法:比如要问45 在集合中有那些数字的尾部是45,只需要找到那些数对100取余==45就行了。但是为了避免

  超时,需要在一开始时,对集合的这个数就进行从10 100 ,,,,的取余,记住不对比本身大的数取余!

   哈希数组初始化为0,然后取余出来的dd, 进行f[dd]++,说明dd这个数有f[dd]个数字的尾部是dd !

   但注意这类数据:  例如:3000005

                                  对10取余 ==5;

                                  对100取余==5;

                                 对1000取余==5; 但是对于3000005这个数只能加一次

代码:

       

#include <iostream>
#include <string>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <ctype.h>using namespace std;int f[100001];int main()
{int n;int i, j;int m;int x;int dd, ff, gg;int flag;int w;while(scanf("%d", &n)!=EOF){memset(f, 0, sizeof(f));for(i=0; i<n; i++){scanf("%d", &ff );if(ff>10){gg=10;dd=ff%gg;flag=dd;w=1;while( dd<ff ){if(w==1){f[dd]++;gg=gg*10;dd=ff%gg;w=0;}else if(w==0){if(flag==dd){gg=gg*10;dd=ff%gg;}else{f[dd]++;flag=dd;gg=gg*10;dd=ff%gg;}}//f[dd]++;}}}scanf("%d", &m);for(i=0; i<m; i++){scanf("%d", &x);printf("%d\n", f[x] );}}return 0;
}

 

转载于:https://www.cnblogs.com/yspworld/p/4149016.html

SDUT oj 选拔赛1 迷之好奇相关推荐

  1. 喵帕斯之副食店 (sdut oj)

    ** 喵帕斯之副食店 (sdut oj) ** Problem Description 莲酱又去副食店买吃的去惹.现在莲酱有一些不同面额硬币,和一个非常喜欢的糖果. 但是莲酱不知道自己能够买多少颗糖果 ...

  2. SDUT OJ 图练习-BFS-从起点到目标点的最短步数 (vector二维数组模拟邻接表+bfs , *【模板】 )...

    图练习-BFS-从起点到目标点的最短步数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 在古老的魔兽传说中,有两个军团,一个叫天 ...

  3. SDUT OJ单个字符输入和输出(顺序结构)

    SDUT OnlineJudge #include<iostream> #include<string.h> using namespace std; int main() { ...

  4. SDUT OJ 数据结构实验之排序一:一趟快排

    数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...

  5. SDUT OJ[3109] 买买买 背包 dp

    好久没做题了,今天来一发. 根据题意,可以推出状态转移方程: dp[cost][weight] = max(dp[cost][weight], dp[cost-s[i].cost][weight-s[ ...

  6. SDUT OJ 数据结构实验之链表四:有序链表的归并

    数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Desc ...

  7. SDUT OJ -2892 A

    A Time Limit: 60ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 给出n(1<= n && n <= 2*10^6) ...

  8. 九度OJ 1435:迷瘴

    题目描述: 通过悬崖的yifenfei,又面临着幽谷的考验-- 幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅.由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死. 幸好y ...

  9. SDUT OJ 效率至上(线段树)

    效率至上 Time Limit: 5000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 题意很简单,给出一个数目为n ...

最新文章

  1. 关于less在DW中高亮显示问题
  2. 边看chromium的代码,边想骂人...
  3. Unity5x编辑器的主菜单和布局
  4. eclipse html自动对齐,MyEclipse和Eclipse中jsp、html格式化自动排版问题
  5. 我想要一种语言,只需对它说我要干什么就行
  6. 【报告分享】京东大数据202女性消费趋势报告.pdf(附下载链接)
  7. Atitit 品牌之道 attilax著 艾龙 著 1. 第1章 品牌和品牌管理 1 2. 第Ⅱ篇 制定品牌战略 2 3. 第Ⅲ篇 品牌营销活动:设计与执行 2 4. 第Ⅳ篇 评估和诠释品牌绩效 3
  8. 人生 第一页HTML
  9. UPS不间断电源原理与选用配备技巧
  10. 【Vue】转-Vue.js经典开源项目汇总
  11. c语言编程悬臂梁受力分析,悬臂梁受力的分析.doc
  12. 小莫取色精灵 使用教程_MQ
  13. 计算机显示去掉拼音分类,win8系统取消电脑文件显示以字母数字拼音分组的操作办法...
  14. win10电脑显示未安装任何音频输出设备问题解决记录
  15. linux桌面虚拟化-KVM
  16. TQ2440开发板移植UBOOT-2010.06总结(3)
  17. Unity中的角色属性芒星比例图
  18. 桌面html文件图标异常,.htm.html文件图标无法显示的解决办法
  19. 树莓派基础实验12:PCF8591模数转换器实验
  20. 程序员大阳--所有教程、项目、源码导航

热门文章

  1. CentOS7 安装 scala 2.11.1
  2. 【网络小说推荐】纨绔才子
  3. centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法
  4. MapReduce之collect过程分析
  5. 2019幽门螺杆菌指南共识_《幽门螺杆菌感染基层诊疗指南(2019年)》发布! | 指南共识...
  6. (87)FPGA读文件激励(readmemb)
  7. (80)FPGA复位激励(function)
  8. (8)FPGA面试题触发器满足建立时间和保持时间的原因
  9. FPGA异步时钟域处理之格雷码转换
  10. dcs 管理计算机的功能,计算机控制系统 第三章 集散控制系统(DCS).doc