蓝桥杯 第一次校训 续篇

1.

题目描述
小P最近人生得意,去参加了一次相亲大会,相亲大会上每个人有一个密码牌(密码牌上的密码是一个正整数m,m<231 ),相互之间在交流之前先交换密码牌,密码牌上的密码可能相同,也可能不同,如果相同,两人牵手离开,如果不保同,各自再寻找下一位,保证最后只有1个人或2个人留下来。

输入
第一行两个数 n,k (n3000000,1≤k≤2),n表示参加相亲大会的人数,接下来 n行每行一个正整数表示相亲大会上每一个人的密码,k表示最后留在相亲大会的人数。
输出
从小到大输出一行 k个数,表示相亲不成功留在相亲大会人的密码,中间用空格分隔。
看到题目首先想到的是凉凉两两配对,当然是相同的配对,所以自然而然地就想到了排序,但是怎么把相同的两个数给他想个办法隔过去呢?这又是一个新的问题,所以想如果两个相同就运用两次加加,具体看代码叭。
代码实现:
 1 #include<bits/stdc++.h>  
 2 using namespace std; 
 3 long long ll;
 4 const int maxn=3e6+5;  
 5 int n,k;
 6 int a[maxn];
 7 int main()
 8 {    int i;
 9     scanf("%d%d",&n,&k);
10     for(i=0;i<n;i++)
11     scanf("%d",&a[i]);
12     sort(a,a+n);
13     int dis=k;
14     for(i=0;i<n;i++)
15     {
16         if(a[i]==a[i+1]) 
17         i++;
18         else 
19         {
20             printf("%d",a[i]);
21             dis--;
22             if(dis==0) return 0;
23             else if(dis==1) printf(" "); 
24         }
25     }
26     return 0;
27 }

 因为有限制了留下的人的数量,所以巧妙地利用一个参数来达到目的。

2.

小P最近在研究字符编码,给出一串由0、1组成的字符串,从中任意进行截取,如果截取的字符串对应一个英文字母的ASCII值,小P就把这个0、1串叫字母子串,问给定的字符串最多能截取出多少个字母子串。

输入

测试数据有多组,每组一行由0、1组成的字符串,每行长度不超过10000。 

输出

对于每组输入,在一行中输出最多可以截取的字母子串的数量。 

这道题比赛的时候当然没有做出来了,因为连题目都没看懂,所以,只能暗自神伤自己暗戳戳的下来研究了,结果我发现!!!c++对于字符串来说真是个好东西啊啊啊啊,用c写太麻烦了,于是借鉴了其他大佬的c++,结果发现真香!!!

这道题目就是截取七个字符判断其是不是字母范围内,如果不是指针后移1位,如果是指针后移6位,话不多说,上代码。

代码实现:

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<iostream>
 4 using namespace std;
 5 int zh(string a)
 6 {
 7     int d=0;
 8     for(int i=0;i<a.size();i++)
 9     d=d*2+a[i]-'0';
10     return d;
11  } 
12  int main()
13  {  string a,b;
14      int i;
15      while(cin>>a)
16      {   
17          int sum=0,num=0;
18          for(i=0;i+6<a.size();i++)
19          {
20              string c=a.substr(i,7);//从i开始截七个字符组成一个串。 
21              num=zh(c);
22              if(num>=65&&num<=90||num>=97&&num<=122)
23              {
24                       sum++;i=i+6;
25              }
26      
27          }
28          cout<<sum<<endl;
29     }
30      
31      return 0;
32  }
33  

 

 
posted @ 2019-03-05 20:27  沅清的小窝  阅读(172)  评论(0编辑  收藏  举报