【藍橋杯】計蒜客2017模擬賽A習題整理
1.結果填空:摺紙(long long)
輸出的不老練,還是分開自己在加一下吧。
#include<iostream>
using namespace std;
int main(){
long long sum = 1 ;
int s = 0;
for(int i = 1 ; i <= 20 ; i ++){
sum *= 2;
}
for(int i = 1 ; i <= 20 ; i ++){
s = s * 2 + 1;
}
printf("%lld\n" , sum);
printf("%f" , s * 0.5);
return 0;
}
2.結果填空:分餅乾(暴力)
沒啥說的,暴力就行了。
#include<iostream>
using namespace std;
int main(){
for(int i = 20000 ; i <= 1000000000 ; i ++){
if(i % 113 == 60 && i % 233 == 150 && i % 666 == 233){
printf("%d" , i);
break;
}
}
return 0;
}
3.結果填空:小學生數學(暴力)
暴力。
#include<iostream>
#include<cstring>
using namespace std;
int sum = 0;
bool flag[10];
int main(){
for(int a = 1 ; a <= 9 ; a ++)
for(int b = 0 ; b <= 9 ; b ++)
for(int c = 1 ; c <= 9 ; c ++)
for(int d = 0 ; d <= 9 ; d ++)
for(int e = 0 ; e <= 9 ; e ++)
for(int f = 1 ; f <= 9 ; f ++)
for(int g = 0 ; g <= 9 ; g ++)
for(int h = 0 ; h <= 9 ; h ++)
for(int i = 0 ; i <= 9 ; i ++)
for(int j = 0 ; j <= 9 ; j ++)
if((a * 10 + b) * (c * 100 + d * 10 + e) == f * 10000 + g * 1000 + h * 100 + i * 10 + j){
if(a != b && a != c && a != d && a != e && a != f && a != g && a != h && a != i && a != j)
if(b != c && b != d && b != e && b != f && b != g && b != h && b != i && b != j){
if(c != d && c != e && c != f && c != g && c != h && c != i && c != j){
if(d != e && d != f && d != g && d != h && d != i && d != j){
if(e != f && e != g && e != h && e != i && e != j){
if(f != g && f != h && f != i && f != j){
if(g != h && g != i && g != j){
if(h != i && h != j){
if(i != j){
sum ++;
}
}
}
}
}
}
}
}
printf("%d" , sum);
return 0;
}
4.程式碼填空:聖誕樹(找規律)
按照行來輸出,必定數值是和i,j有關的,所以拉出來找規律就好了。
#include <stdio.h>
void christmas_tree(int n) {
for (int i = 1; i <= n; ++i) { // 聖誕樹的層數
for (int j = 1; j <= n; ++j) { // 每一層小層
int space_cnt = 16 - 2 * (i - 1) - j; // 填寫必要程式碼
int tree_cnt = 1 + (i - 1) * 4 + 2 * (j - 1); // 填寫必要程式碼
for (int k = 0; k < space_cnt; ++k) {
putchar(' ');
}
for (int k = 0; k < tree_cnt; ++k) {
putchar('*');
}
putchar('\n');
}
}
for (int i = 1; i < 3 * (n - 1); ++i) {
putchar(' ');
}
puts("***");
for (int i = 1; i < 3 * (n - 1); ++i) {
putchar(' ');
}
puts("***");
for (int i = 1; i < 3 * (n - 1); ++i) {
putchar(' ');
}
puts("***");
}
int main() {
christmas_tree(6);
return 0;
}
7.結果填空:簡單的劃分數(DFS)
【新】新的一種DFS模板,如果超過了邊界就直接退出。以前從來沒有這麼幹過。
這種題目如果只是一個填空題的話可以直接暴力解決,不必上動態規劃了。
#include<iostream>
using namespace std;
int a = 0;
void dfs(int x , int s){
if(s == 80){//達到目標的時候//
a ++;
return ;
}
if(s > 80)//未達到目標的時候//
return ;
for(int i = x ; i <= 80 ; i ++){//dfs//
dfs(i , s + i);
}
}
int main(){
dfs(1 , 0);
printf("%d" , a);
return 0;
}
8.程式設計:彈簧板(DP)
簡單的dp問題,這個地方的dp是倒著彈回來的,所以不是上一個狀態,需要按照下一個狀態往前推。
#include<iostream>
using namespace std;
const int MAXN = 100005;
int a[MAXN] , dp[MAXN] = { 0 };//dp表示目前的狀態的最大彈的數值//
int res = 0;
int main(){
int n;
scanf("%d" , &n);
for(int i = 1 ; i <= n ; i ++){
scanf("%d" , &a[i]);
}
for(int i = n ; i >= 1 ; i --){
dp[i] = dp[i + a[i]] + 1;
res = max(dp[i] , res);
}
printf("%d" , res);
return 0;
}
寫不動了。。。。完了接著補
相關文章
- 【計蒜客】2017藍橋杯模擬賽(四)
- 2017省賽藍橋杯B組
- 藍橋杯模擬題——長草問題
- 2017藍橋杯省賽第十題:k倍區間
- 【藍橋杯考前突擊】第十一屆藍橋杯校賽模擬C/C++ 正整數序列C++
- 藍橋杯考點整理
- 藍橋杯省賽真題2013題解
- 第十四屆藍橋杯第一期模擬賽 pythonPython
- 2020藍橋杯競賽複習指導
- 藍橋杯真題
- 藍橋杯javaB組備賽Java
- 【藍橋杯】練習題目彙總
- 2017年藍橋杯——購物清單
- 藍橋杯第五屆省賽題目及題解
- 2018藍橋杯省賽B組
- 藍橋杯大賽——驅動程式
- 2017第八屆藍橋杯C/C++ B組省賽第二題 秒解C++
- 藍橋杯-座次問題
- 藍橋杯-日期問題
- 2016藍橋杯省賽第七題剪郵票
- 藍橋杯練習系統題目集
- 藍橋杯 計算方程
- 第十一屆藍橋杯大賽第二次模擬(軟體類)真題(做題筆記)筆記
- 藍橋杯
- [藍橋杯2018決賽]最大乘積
- 題目 1841: [藍橋杯][2017年第八屆真題]發現環
- 藍橋杯學習路線
- 藍橋杯全排列專題
- 2013年藍橋杯真題
- 計蒜客:騎車比賽(Dijkstra)
- 2017年藍橋杯javaB組——等差素數列Java
- 藍橋杯競賽題目:”機器人繁殖“解析及題解機器人
- 藍橋杯-日誌統計
- 第14屆藍橋杯B組國賽
- 藍橋杯第9場小白入門賽
- 第十三屆藍橋杯省賽A組
- 藍橋杯2015決賽]四階幻方
- 方格分割 二進位制列舉+DFS(2017 第八屆藍橋杯省賽A組 第4題)