算法复健计划day1 字符串专题
Posted 中二病没有蛀牙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法复健计划day1 字符串专题相关的知识,希望对你有一定的参考价值。
好久没敲过题了,有点太拉了,为了保研机试,冲冲冲
字符串专题
ACWing1477
https://www.acwing.com/problem/content/1479/
#include <bits/stdc++.h>
using namespace std;
string eng[10] = {"zero","one","two","three","four","five","six","seven","eight","nine"} ;
int main()
{
string n;
cin>>n;
int sum = 0;
for (int i =0;i < n.size();i++){
sum += (n[i] -'0');
}
string strSum = to_string(sum);
for(int i = 0;i < strSum.size(); i++){
cout<<eng[strSum[i] - '0']<<" ";
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
struct T
{
int hh,mm,ss;
T():hh(),mm(),ss(){}
T(int x,int y,int z):hh(x),mm(y),ss(z){}
};
struct stu{
string ID;
string st,ed;
}st[105];
bool cmp1(stu a,stu b){
return a.st < b.st;
}
bool cmp2(stu a,stu b){
return a.ed > b.ed;
}
int main()
{
int m;
cin>>m;
for(int i = 0;i < m; i++){
cin>>st[i].ID>>st[i].st>>st[i].ed;
}
sort(st,st+m,cmp1);
cout<<st[0].ID<<" ";
sort(st,st+m,cmp2);
cout<<st[0].ID<<endl;
}
Acwing1519
#include <bits/stdc++.h>
using namespace std;
const int maxn = 10005;
struct user{
string id,p;
};
vector<user> ans;
char rep(char c){
if(c == '1')
return '@';
if(c == '0')
return '%';
if(c == 'l')
return 'L';
if(c == 'O')
return 'o';
return c;
}
int main()
{
int n;
cin>>n;
int m = 0;
for (int i = 1;i <=n;i++)
{
user u;
cin>>u.id>>u.p;
int f = 0;
for(int j =0;j < u.p.size();j++){
char c = rep(u.p[j]);
if(c!= u.p[j] ){
u.p[j] = c;
f = 1;
}
}
if(f) {
m++;
ans.push_back(u);
}
}
if(m == 0){
if(n == 1)
printf("There is %d account and no account is modified\\n",n);
else
printf("There are %d accounts and no account is modified\\n",n);
}
else{
cout<<m<<endl;
for(auto v : ans){
cout<<v.id<<" "<<v.p<<endl;
}
}
return 0;
}
Acwing 1521
#include <bits/stdc++.h>
using namespace std;
const int maxn = 10005;
struct stu
{
string name,sex,id;
int grade;
stu(){}
stu(string a,string b,string c,int d):name(a),sex(b),id(c),grade(d){}
};
vector<stu>girl,boy;
int main()
{
int n;
cin>>n;
int cntM,cntF;
cntM = cntF = 0;
string name,sex,id;
int gra;
int ma = 0;
int mi = 100;
stu maxG,minB;
while(n--){
cin>>name>>sex>>id>>gra;
if(sex == "F"){
cntF++;
if(gra > ma|| ma == 0){
ma = max(ma,gra);
maxG = stu(name,sex,id,gra);
}
}
else {
cntM++;
if(gra < mi || mi == 100){
mi = min(mi,gra);
minB = stu(name,sex,id,gra);
}
}
}
if(cntF == 0 ) cout<<"Absent"<<endl;
else cout<<maxG.name<<" "<<maxG.id<<endl;
if(cntM == 0) cout<<"Absent"<<endl;
else cout<<minB.name<<" "<<minB.id<<endl;
if(cntF == 0|| cntM == 0){
cout<<"NA"<<endl;
}
else cout<<ma - mi<<endl;
return 0;
}
以上是关于算法复健计划day1 字符串专题的主要内容,如果未能解决你的问题,请参考以下文章