A:
解题思路:
判断改变第一个,后面字符根据前一个字符判断是否改变
判断改变第二个,同上,找到最小改变值。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{string s,s1,s2;int sum1 = 0,sum2 = 0;cin >> s;s1 = s;for(int i = 1;i < s.length();i++){if(s[i] == s[i - 1]){s[i] = (s[i] == '1' ? '0' : '1'); sum1 += i + 1;}}s1[0] = (s1[0] == '1' ? '0' : '1');sum2++;for(int i = 1;i < s.length();i++){if(s1[i] == s1[i - 1]){s1[i] = (s1[i] == '1' ? '0' : '1');sum2 += i + 1;}}cout << min(sum1,sum2);return 0;
}
B:
解题思路:
被这题搞到心态了,没有理解题目意思,只要判断字符串里是否只有“Baidu”这五个字符。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{int n, B = 0, a = 0, j = 0, d = 0, u = 0;string s;cin >> n;while (n != 0) {B = 0, a = 0, j = 0, d = 0, u = 0;cin >> s;if(s.length() != 5){cout << "No" << endl;}else{for(int i = 0 ; i < s.length();i++){if(s[i] == 'B'){B++;}else if(s[i] == 'a'){a++;}else if(s[i] == 'i'){j++;}else if(s[i] == 'd'){d++;}else if(s[i] == 'u'){u++;}}if(B == 1 && a == 1 && j == 1 && d == 1 && u == 1){cout << "Yes" << endl;}else{cout << "No" << endl;}}n--;}return 0;
}
C:
解题思路:
按照题目意思模拟就好,没啥说的。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{int t,n,k,u,v;cin >> t;while(t != 0){int arr[100],index = 1;cin >> n >> k;for(int i = 0;i < n;i++){cin >> arr[i];}for(int i = 0;i < k;i++){cin >> u >> v;arr[u - 1]++,arr[v - 1]--;}for(int i = 1;i < n;i++){if(arr[i] < arr[i - 1]){index = 0;break;}}if(index == 0){cout << "No" << endl;}else{cout << "Yes" << endl;}t--;}return 0;
}
D:
解题思路:
以字符串的形式输入,只要判断两部分的最后一个数是偶数还是奇数就行。
下面是c++代码:
#include<iostream>
using namespace std;
int main()
{int sum = 0;string s;cin >> s;for(int i = s.length() - 2;i >= 0;i--){if(s[i] % 2 == 0 && s[s.length() - 1] % 2 == 0){sum++;}else if(s[i] % 2 != 0 && s[s.length() - 1] % 2 != 0){sum++;}}cout << sum;return 0;
}
E:
解题思路:
奇数行正着输出,偶数行倒着输出。
下面是c++代码:
#include<iostream>
using namespace std;
int cnt=1;
const int N=110;
int a[N][N];
int main(){int n;cin>>n;if(n%2){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cout<<cnt<<' ';cnt++;}cout<<endl;}}else{for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i%2){a[i][j]=cnt++;}else{a[i][n-j+1]=cnt++;}}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cout<<a[i][j]<<' ';}cout<<endl;}}return 0;
}