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; }