圣嘉然之力:牛客不准养苟
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
投递腾讯等公司10个岗位 >
0 点赞 评论 收藏
分享
投递航天信息等公司10个岗位 >
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
还挨打了://记录每个点左边的G的个数(代码中数组b),包括该点,右边的R的个数(代码中数组f),不包括该点,然后
//然后找到b[i]+f[i]的最小值
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc,char* argv[]){
string s("RGRGR");
cin>>s;
int n=(int)s.length();
int count_1=0;
vector<int> b(n,0);
vector<int> f(n,0);
for(int i=0;i<n;i++){
if(s[i]=='G')
count_1++;
b[i]=count_1;
}
int count_2=0;
for(int i=n-2;i>=0;i--){
if(s[i+1]=='R')
count_2++;
f[i]=count_2;
}
int mm=0x7FFFFFFF;
for(int i=0;i<n;i++){
if(b[i]+f[i]<mm){
mm=b[i]+f[i];
}
}
if(n==0) mm=0;
cout<<mm<<endl;
}
//暴力和比较优的都写了,作对比。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
bool isTrue(long num){
if(num<10) return false;
else{
int a=0,b=0;
a=num%10;
b=(num/10)%10;
return a==b;
}
return false;
}
long count(long num){
if(num<10) return 0;
else{
long n100=num/100;
num=num%100;
long n1=num%10;
long n10=num/10;
long ans;
if(n1>=n10){
ans=n100*10+n10;
}
else{
ans=n100*10+n10-1;
}
return ans;
}
return 0;
}
int main(int argc,char* argv[]){
long L=0,R=0;
cin>>L>>R;
cout<<count(R)-count(L-1)<<endl;
long cnt=0;
for(long i=L;i<=R;i++){
if(isTrue(i))
cnt++;
}
cout<<cnt<<endl;
return 0;
}
//找到规律就好
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc,char* argv[]){
int n=0;
cin>>n;
vector<int> mvec(n,0);
for(int i=0;i<n;i++){
cin>>mvec[i];
}
sort(mvec.begin(),mvec.end());
long ans=1;
for(int i=0;i<n;i++){
ans*=mvec[i]-i;
if(ans>1000000007){
ans=ans%1000000007;
}
}
cout<<ans<<endl;
}
投递爱奇艺等公司10个岗位 >
0 点赞 评论 收藏
分享
投递兆芯等公司10个岗位 >
0 点赞 评论 收藏
分享
牛客2234812号:为什么C++的这么简单,Java的并不好做
投递CVTE等公司10个岗位 >
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
关注他的用户也关注了: