洛谷每日三题之第五天

简介: 洛谷每日三题之第五天

目录

P1321 单词覆盖还原

题目描述

输入格式

输出格式

输入输出样例

说明/提示

P1271 【深基9.例1】选举学生会

题目描述

输入格式

输出格式

输入输出样例

P1059 [NOIP2006 普及组] 明明的随机数

题目描述

输入格式

输出格式

输入输出样例

说明/提示

P1321 单词覆盖还原

题目描述

一个长度为 ll 的字符串中被反复贴有 boygirl 两单词,后贴上的可能覆盖已贴上的单词(没有被覆盖的用句点表示),最终每个单词至少有一个字符没有被覆盖。问贴有几个 boy 几个 girl

输入格式

一行被被反复贴有 boygirl 两单词的字符串。

输出格式

两行,两个整数。第一行为 boy 的个数,第二行为 girl 的个数。

输入输出样例

输入 #1复制

......boyogirlyy......girl.......


输出 #1复制

4

2


说明/提示

数据保证,3\le l\le2553≤l≤255,字符串仅仅包含如下字符:\texttt{.bgilory}.bgilory。

# include <bits/stdc++.h>
using namespace std;
int main()
{
  string s;
  cin>>s;
  int blp=-1;
  int count0=0;
  int count1=0;
  for(int i=0;i<s.length();i++)
  {
    if (s[i]=='b'||s[i+1]=='o'||s[i+2]=='y')
    {
      count0++;
    }
    if (s[i]=='g'||s[i+1]=='i'||s[i+2]=='r'||s[i+3]=='l')
    {
      count1++;
    }
  }
cout<<count0<<endl<<count1;
}

P1271 【深基9.例1】选举学生会

题目描述

学校正在选举学生会成员,有 n(n\le 999)n(n≤999) 名候选人,每名候选人编号分别从 1 到 nn,现在收集到了 m(m<=2000000)m(m<=2000000) 张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。

输入格式

输入 nn 和 mm 以及 mm 个选票上的数字。

输出格式

求出排序后的选票编号。

输入输出样例

输入 #1复制

5 10

2 5 2 2 5 2 2 2 1 2

输出 #1复制

1 2 2 2 2 2 2 2 5 5

# include <bits/stdc++.h>
using namespace std;
int main()
{
  int n,m;
  cin>>n>>m;
  int a[m];
  for(int i=0;i<m;i++)
  {
    cin>>a[i];
  }
  sort(a,a+m);
  for(int i=0;i<m;i++)
  {
    cout<<a[i]<<" ";
  }
 } 

P1059 [NOIP2006 普及组] 明明的随机数

题目描述

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 11 到 10001000 之间的随机整数 (N\leq100)(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

输入格式

输入有两行,第 11 行为 11 个正整数,表示所生成的随机数的个数 NN。

第 22 行有 NN 个用空格隔开的正整数,为所产生的随机数。

输出格式

输出也是两行,第 11 行为 11 个正整数 MM,表示不相同的随机数的个数。

第 22 行为 MM 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

输入输出样例

输入 #1复制

10

20 40 32 67 40 20 89 300 400 15


输出 #1复制

8

15 20 32 40 67 89 300 400


说明/提示

NOIP 2006 普及组 第一题

# include <stdio.h>
# include <stdlib.h>
//int cmp(int *x, int *y) {
//    return *x - *y;
//}
int comp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
  int n;scanf("%d",&n);
  int a[n];
  for(int i=0;i<n;i++)
  {
  scanf("%d",&a[i]);
//    a[i]=rand()%1000+1;
  //  printf("%d ",a[i]);
  }
  //int count=0;
   qsort(a,n,sizeof(int),comp); 
//   for(int i=0;i<n;i++)
//   {
//    printf("%d ",a[i]);
//   }
int b[n];
int j=0;
   for(int i=1;i<n;i++)
  {
    if(a[i]==a[i-1])
    {
      continue;
    }
    b[j]=a[i-1];
    j++;
  }
  if(a[n-1]!=a[n-2])
  {
    b[j]=a[n-1];
    j++;
  }
  printf("%d\n",j);
  for(int i=0;i<j;i++)
  {
    printf("%d ",b[i]); 
  }
  return 0;
 } 


相关文章
【洛谷算法题】B2029-大象喝水【入门1顺序结构】
【洛谷算法题】B2029-大象喝水【入门1顺序结构】
|
算法 Android开发 容器
LeetCode 周赛上分之旅 #35 两题坐牢,菜鸡现出原形
学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode 周赛的解题报告,一起体会上分之旅。
95 0
|
算法 搜索推荐 C语言
堆排序——我欲修仙(功法篇)
堆排序——我欲修仙(功法篇)
127 0
堆排序——我欲修仙(功法篇)
|
算法
回溯算法——我欲修仙(功法篇)
回溯算法——我欲修仙(功法篇)
106 0
|
算法
KMP算法——我欲修仙(功法篇)
KMP算法——我欲修仙(功法篇)
113 0
|
算法 C语言
二分查找——我欲修仙(功法篇)
二分查找——我欲修仙(功法篇)
89 0
|
人工智能 移动开发
【蓝桥杯集训·每日一题】AcWing 3805. 环形数组
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 线段树
105 0
|
机器学习/深度学习
【蓝桥杯集训·每日一题】 AcWing 3996. 涂色
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 区间DP Unique函数
121 0
|
算法
【蓝桥杯集训·每日一题】AcWing 3768. 字符串删减
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 双指针
80 0
|
人工智能 BI
【蓝桥杯集训·每日一题】Acwing 3729. 改变数组元素
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 一维差分 区间合并
91 0