21
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
main ()
{
string s1, s2, s3;
getline(cin, s1);
s1 = " " + s1 + " ";
int lens1 = s1.size();
getline(cin, s2);
getline(cin, s3);
s2 = " " + s2 + " ";
s3 = " " + s3 + " ";
int lens2 = s2.length();
int lens3 = s3.length();
for(int i = 0; (i = s1.find(s2, i)) >= 0; i += lens3 - 1)
{
s1.replace(i, lens2, s3);
lens1 = s1.size();
}
cout << s1.substr(1, lens1 - 2);
}
22
#include<iostream>
#include<cstring>
using namespace std;
int n;
struct Node{
string username;
string password;
string email;
}Node [10005];
void exchange(string cemail){
bool flag = 0;
for(int i = 1; i <= n; i++){
if(cemail == Node[i].email)
{
flag = 1;
for(int j = 0; j < Node[i].password.length(); j++){
if(Node[i].password[j] <= 'Z' && Node[i].password[j] >= 'A')
Node[i].password[j] += 32;
else if(Node[i].password[j] <= 'z' && Node[i].password[j] >= 'a')
Node[i].password[j] -= 32;
else
continue;
}
cout << Node[i].username << " " << Node[i].password << endl;
}
}
if(flag == 0)
cout << "empty" << endl;
}
int main (){
string s;
cin >> s;
cin >> n;
for(int i = 1; i <= n; i++){
cin >> Node[i].username >> Node[i].password >> Node[i].email;
}
exchange(s);
return 0;
}
23
#include<bits/stdc++.h>
using namespace std;
int main (){
string s1;
while(cin >> s1)
{
cout << s1 << " ";
}
}
24
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s;
int i = 0;
cin >> s;
cout << s.length();
while(cin >> s)
{
cout << "," << s.size();
}
return 0;
}
25
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s, s1,s2;
int i = 0;
cin >> s;
int len = s.size();
if(s[s.length()-1] == ',')
{
s1 = s;
s1[s.size()-1] = '\n';
s2 = s;
s2[s.size()-1] = '\n';
}
else
{
s1 = s;
s2 = s;
}
while(cin >> s)
{
char c = getchar();
len = s.size();
if(s[s.size()-1] == ',')
{
len = s.size() - 1;
if(s1.size() > len)
{
s1 = s;
s1[s.size()-1] = '\n';
}
if(s2.size() < len)
{
s2 = s;
s2[s.size()-1] = '\n';
}
}
else
{
if(s1.size() > len)
s1 = s;
if(s2.size() < len)
s2 = s;
}
if(c == '\n') break;
}
cout << s2 << endl;
cout << s1 << endl;
return 0;
}
26
#include<iostream>
#include<cstring>
using namespace std;
int index(string s, string t){
int slen = s.size();
int tlen = t.size();
int i , j;
for(i = 0; i < slen; i++){
int temp = i;
for(j = 0; j < tlen;){
if(s[i] == t[j]){
i++;
j++;
}
else{
i = temp;
break;
}
}
if(j == tlen){
return i;
}
}
return -1;
}
int index1(string s, string t){
int slen = s.size();
int tlen = t.size();
int i , j = tlen;
for(i = slen - 1; i >= 0; i--){
int temp = i;
for(j = tlen - 1; j >= 0;){
if(s[i] == t[j]){
i--;
j--;
}
else{
i = temp;
break;
}
}
if(j == -1){
return i;
}
}
return -1;
}
int main(){
string s, ss[3];
getline(cin, s);
int len = s.length();
int j = 0;
for(int i = 0; i < 3; i++){
ss[i] = "";
}
for(int i = 0; i < len; i++){
if(s[i] == ','){
j++;
continue;
}
ss[j] += s[i];
}
int start = index (ss[0], ss[1]);
int end = index1 (ss[0], ss[2]);
if(start == -1 || end == -1)
cout << "-1" << endl;
else if(start > end + 1){
cout << "-1" << endl;
}
else
cout << end - start + 1 << endl;
return 0;
}
27
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
getline(cin, s);
int j = 0;
s[s.length()] = ' ';
for(int i = 0; i <= s.length(); i++){
if(s[i] == ' '){
int temp = i - 1;
while(temp >= j){
cout << s[temp--];
}
cout << s[i];
j = i + 1;
}
}
return 0;
}
28
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
string ss[105];
getline(cin, s);
int slen = s.length();
int j = 0;
ss[0] = "";
for(int i = 0; i < slen; i++){
if(s[i] != ' '){
ss[j] += s[i];
}
else{
j++;
ss[j] = "";
}
}
for(int i = j; i >= 0; i--){
cout << ss[i] << " ";
}
return 0;
}
29
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string s;
cin >> s;
string s1 = "";
long long m = 0;
for(int i = 0; i < s.length() - 1; i++){
if(s[i] <= '9' && s[i] >= '0'){
s1 += s[i];
}
}
int len = s1.length();
for(int i = 1; i <= len; i++){
m += (s1[i - 1] - '0') * i;
}
if(m % 11 == 10 && s[s.length() - 1] == 'X'){
cout << "Right" << endl;
}
else if(m % 11 == s[s.length() - 1] - '0'){
cout << "Right" << endl;
}
else
{
if(m % 11 == 10){
s[s.length()-1] = 'X';
for(int i = 0; i < s.length(); i++)
cout << s[i];
}
else{
s[s.length()-1] = m % 11 + '0';
for(int i = 0; i < s.length(); i++)
cout << s[i];
}
}
return 0;
}
30
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int x, y, len, len1, len2, limit, ans=0;
string s1, s2;
cin >> s1 >> s2;
len1 = s1.size();
len2 = s2.size();
limit = min(len1, len2); //最短字符串的长度
s1 += s1; // 造环
s2 += s2; // 造环
for (int i=0; i<len1; i++){
for (int j=0; j<len2; j++){
len = 0;
x = i;
y = j;
while (s1[x++]==s2[y++] && len<limit) //不能超过段长
len++;
if (len > ans)
ans = len;
}
}
cout << ans << endl;
return 0;
}
31
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
cin >> s;
int count = 1;
s[s.length()] = -1;
for(int i = 0; i < s.length(); i++){
if(s[i] != s[i + 1]){
cout << count << s[i] - '0' ;
count = 1;
}
else{
count ++ ;
}
}
return 0;
}
32
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
getline(cin, s);
s[s.length()] = ' ';
int count = 1;
for(int i = 0; i < s.length(); i++){
if(s[i] >= 'a' && s[i] <= 'z') {
s[i] -= 32;
}
}
for(int i = 0; i < s.length(); i++){
if(s[i] != s[i+1]){
cout << "(" << s[i] << "," << count << ")" ;
count = 1;
}
else
{
count ++ ;
}
}
return 0;
}
33
#include<iostream>
#include<cstring>
using namespace std;
int main ()
{
char a[102],b[102];
cin >> a;
int len = strlen(a);
for( int i = 0; i < len ; i++ )
{
b[len - i - 1] = a[i];
}
int flag = 0;
for(int i = 0 ; i < len ; i++)
{
if(a[i] != b[i])
{
flag = 1;
break;
}
}
if(!flag)
cout << "yes";
else
cout << "no";
}
34
#include<iostream>
#include<cstring>
#include<math.h>
using namespace std;
bool check(string s){
int len = s.length();
string ss = "";
for(int i = len - 1; i >= 0; i--){
ss += s[i];
}
if(ss == s)
return 1;
else
return 0;
}
int main(){
string s;
cin >> s;
string ss;
ss = "";
int len = s.length();
for(int i = 2; i <= len; i++){
for(int j = 0; j < len; j++){
for(int k = 0; k < i; k++){
ss += s[j + k];
}
if( check(ss) )
cout << ss << endl;
ss = "";
}
}
return 0;
}
35
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int p1,p2,p3,len,sum;
char a[30000],b[30000];
int main()
{
cin>>p1>>p2>>p3>>a;
len=strlen(a);
for(int i=0;i<len;i++)
if(a[i]=='-'&&i&&i<=strlen(a)-2)
{
if(a[i-1]=='-'||a[i+1]=='-') cout<<'-';
else if(a[i+1]==a[i-1]+1) continue;
else if(a[i-1]>=a[i+1]||(a[i-1]<='9'&&a[i+1]>='A')) cout<<'-';
else
{
int l=0;
if(p1==1)
{
for(int j=a[i-1]+1;j<a[i+1];j++)
{
for(int k=1;k<=p2;k++)
b[l++]=tolower((char)j);
}
else if(p1==2)
{
for(int j=a[i-1]+1;j<a[i+1];j++)
{
for(int k=1;k<=p2;k++)
b[l++]=toupper((char)j);
}
}
else
{
for(int j=a[i-1]+1;j<a[i+1];j++)
{
for(int k=1;k<=p2;k++)
b[l++]='*';
}
}
if(p3==2)
reverse(b,b+l);
for(int j=0;j<l;j++)
cout<<b[j];
}
}
else cout<<a[i];
}