題目和參考**:
1.高斯日記
#includeusing namespace std;
int month1[13]=;
int month2[13]=;
int main()
else
y=1778;
while(day>365)
else
y++;
}m=1;
if(y%400==0||(y%4==0&&y%100!=0))
}else
}cout<"-";
if(m<10)
cout<<"0"
<"-";
else
cout<"-";
if(day
<10)
cout<<"0"
}
答案:1799-07-17
2.馬虎的算式
#include
using namespace std;
int main()}}
}}
}cout0;}
答案:142
3.第39階台階
簡單的dfs,好好體會這道題目的感覺,和李白喝酒那到題目類似。
#include
using namespace std;
int ans=0;
void dfs(int num,int
step)
dfs(num+1,step-1);
dfs(num+1,step-2);
}int main()
答案:51167078
5.字首判斷(程式填空)
*haystack++
!=*neddle++
;
6.三部排序(程式填空)
**實現了如果是正數就放在之前,負數放在之後。
如果是0的話,直接跳過就可以。
答案:p++
;
7.錯誤票據
hash的簡單應用,這題思考點就在於怎麼儲存這些資料,用輸入完乙個資料後,用c=getchar()讀取下乙個字元,判斷下乙個字元是不是空格,從而決定換不換行。
#include
#include
#define maxn 100010
using
namespace
std;
int main()
}for(j=min;j<=max;j++)
cout
<" "
0;}
8.翻硬幣
貪心演算法,直接先用兩個字串讀取。然後比較兩個字串,相同的話,change[i]=1,不相同的話change[i]=0;
然後遍歷change[i],將其為0的地方進行翻轉。
//貪心演算法
#include
#include
#define maxn 10010
using
namespace
std;
int change[maxn];
int main()
else
}for(i=0;iif(!change[i])
}cout
0;}
9.帶分數
分別設整數部分,分子和分母為x,y,z。我們可以得到n=a+b/c;
用dfs演算法生成1-9的全排列儲存在a[i]中,然後把a[i]劃分為3個部分,轉化為十進位制數,然後判斷是否滿足條件。
#include
using namespace std;
int n,ans;
int vis[10]; //vis用來記錄i 是否已經放在當前的排列中
int a[10];
//記錄對應的十進位制數是多少
int cal(int st,int en)
void judge(int
*a) }
}}void dfs(int
index)
for(int i=1;i<=9;i++)
}}int main()
10.連號區間數
首先,理解一下題目的意思。區間連號:
只需要兩層迴圈遍歷,由於要組成遞增的數列,只要當前序列中的最大值減去最小的值恰好等於數列的長度即可。
#include
#define inf 0x3f3f3f
int a[50005];
int max(int a,int b)
int min(int a,int b)
}printf("%d\n",ans);
return
0;}
2013第四屆藍橋杯C C B組
大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 後來人們知道,那個整數就是日期,它表示那一天是高斯出生後的第幾天。這或許也是個好習慣,它時時刻刻提醒著主人 日子又過去一天,還有多少時光可以用於浪費呢?高斯出生於 1777年...
第四屆藍橋杯c c B組3
題目描述 小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優勢,...
第四屆藍橋杯c c B組5
如下的 判斷 needle start指向的串是否為haystack start指向的串的字首,如不是,則返回null。比如 abcd1234 就包含了 abc 為字首 char prefix char haystack start,char needle start if needle retur...