#include<stdio.h>intmain(){
int n, ans =0, pre =-1, cur;scanf("%d",&n);for(int i =0; i < n;++i){
scanf("%d",&cur);if(cur != pre) ans++;
pre = cur;}printf("%d\n", ans);return0;}
8
8 8 8 0 12 12 8 0
5
2. 日期计算
#include<stdio.h>int month[12]={
31,28,31,30,31,30,31,31,30,31,30,31};intmain(){
int y, d, k;scanf("%d%d",&y,&d);if((y%4==0&& y%100!=0)|| y%400==0) month[1]=29;for(k =0; k <12;++k){
if(d <= month[k])break;else d -= month[k];}printf("%d\n%d\n", k+1, d);return0;}
2015
80
3
21
2000
40
2
9
3. 模板生成系统
#include<iostream>#include<string.h>#include<map>#include<stdio.h>#define maxn 0x7fffffffusingnamespace std;intmain(){
int m, n;
string s1, s2, s3, s[105];
map<string,string> v;
cin >> n >> m;getchar();for(int i =0; i < n;++i)getline(cin, s[i]);for(int j =0; j < m;++j){
cin >> s1;getchar();getline(cin, s2);
s1.insert(0,"{
{ ");
s1 = s1 +" }}";
s2.erase(0,1);
s2.erase(s2.end()
1. 数列分段#include<stdio.h>int main(){ int n, ans = 0, pre = -1, cur; scanf("%d", &n); for(int i = 0; i < n; ++i){ scanf("%d", &cur); if(cur != pre) ans++; pre = cur; } printf("%d\n", ans);