NOIP2010普及组初赛错题总结
3.
WTO是世界贸易组织2中国于2001年加入
13.
注意hs是指向的栈顶的第一个元素
而不是栈顶元素的下一个位置
23.
这个注意第11行是i<strlen(s),样例的最后一个是w所以w是没有遍历到的
这个题输出的只有x一个
24.
#include <stdio.h>
int g(int m, int n, int x) {
int ans=0;
int i;
if(n == 1)
return 1;
for(i = x; i <= m / n; i++)
ans += g(m - i, n - 1, i);
return ans;
}
int main()
{
int t, m, n;
scanf("%d%d", &m, &n);
printf("%d
", g(m, n, 0));
return 0;
}
输入7 3
这种简单递归就直接画递归树就行了
25.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string ch;
int a[200];
int b[200];
int n, i, t, res;
cin >> ch;
n = ch.length();
for(i = 0; i < 200; i++) b[i] = 0;
for(i = 1; i <= n ; i++) {
a[i] = ch[i-1] - '0';
b[i] = b[i-1] + a[i];
}
res = b[n];
t = 0;
for(i = n; i > 0; i--) {
if(a[i] == 0) t++;
if(b[i-1] + t < res) res = b[i-1] + t;
}
cout << res << endl;
return 0;
}
输入1001101011001101101011110001
这道题b[]是求1~n中1的个数,19~22行是19行是从后往前遍历原串,求出从1到i的个数+从i~n数0的个数的最小值(不是max!!),这个循环求的就是从后往前0的个数
图错了吧
对不起对不起立马改正
感谢AA
%%