其实超级水,就是问一个人,他前面最少有a个人,后面最多有b个人,问他的站位最多有几种,其实画个图就懂了
前面有a个,后面有b个,就是求除了a以外,也就是n-a和b的交集
代码:
//去吧马里奥!把AC公主救回来! // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<queue> #define LL long long #define _64 __int64 using namespace std; int main(){ int n,a,b; cin >> n >> a >> b; cout << min(n-a,b+1); }
题意就是说,输入一串字符串,之后如果字符串满足题目所说的两个条件,就是说一种是全是大写或者是开头小写后面是大写,那么就要将字符串中的大小写字母换过来。
代码:
//去吧马里奥!把AC公主救回来! // ******** // ************ // ####....#. // #..###.....##.... // ###.......###### // ........... // ##*####### // ####*******###### // ...#***.****.*###.... // ....**********##..... // ....**** *****.... // #### #### // ###### ###### #include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<string> #include<map> #include<sstream> #include<cstring> #include<vector> #include<queue> #define LL long long #define _64 __int64 using namespace std; int main(){ char c[101]; int len,ans,s; cin>>c; len = strlen(c); ans = 0; s = 0; for(int i = 1;i < len;i++){ if(c[i] >= ‘A‘ && c[i] <= ‘Z‘){ s++; }else if(c[i] >= ‘a‘ && c[i] <= ‘z‘){ ans++; } } if((ans == 0 && s != 0) || len == 1){ if(c[0] >= ‘a‘ && c[0] <= ‘z‘){ c[0]-=32; }else if(c[0] >= ‘A‘ && c[0] <= ‘Z‘){ c[0]+=32; } for(int i = 1;i < len;i++){ c[i] += 32; } cout<<c<<endl; }else{ cout<<c<<endl; } return 0; }
F因为dp正在看着呢……有缘再补……
原文:https://www.cnblogs.com/CCCCrack/p/12653674.html