4.18 | 学习笔记

1.这个题先记录一段代码吧,看讨论区学长们说用动态规划?还不太会那个,先用自己的本笨办法

 

#include<bits/stdc++.h>
using namespace std;
string str,s,tmp;
int lens,lenstr,flag;
int main()
{
  while(cin>>str>>s){
    lenstr=str.length(),lens=s.length();
    tmp="";flag=0;
    for(int i=0;i<lens&&flag<lenstr;i++)
       if(s[i]==str[flag]){
         tmp+=s[i],flag++;
       }
    if(tmp==str)cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
  }
  return 0;
}

  

2.再记一段代码...

 

#include<bits/stdc++.h>
using namespace std;
int t,n,tmp1,tmp2,ren;
int cnt(long long int n)
{
  int maxi=1,ans=1;
  ren=n;
  while(n)
  {
    tmp1=n%2,tmp2=n/2%2;
    if(tmp1-tmp2)ans++;
    else{
      if(ans>maxi)maxi=ans;
      ans=1;
    }
    n/=2;
  }
  if(tmp1)ans--;//处理“前端零”
  if(ans>maxi)maxi=ans;
  return maxi;
}
int main()
{
  cin>>t;
  for(int i=0;i<t;i++){
    cin>>n;
    cout<<"case #"<<i<<":\n"<<cnt(n)<<endl;
  }
  return 0;
}

  

posted @ 2019-04-19 00:01  MissCold  阅读(125)  评论(0编辑  收藏  举报