【計蒜客】2017藍橋杯模擬賽(四)
1.結果填空:數列的首項(水題)
#include<iostream>
using namespace std;
int main(){
printf("%d" , (275 / 5 - 27) / 2);
return 0;
}
2.結果填空:特殊的四位數(水題)
#include<iostream>
using namespace std;
int main(){
for(int i = 1 ; i <= 9 ; i ++){
for(int j = 0 ; j <= 9 ; j ++){
for(int k = 0 ; k <= 9 ; k ++){
for(int l = 1 ; l <= 9 ; l ++){
if(i != j && i != k && i != l && j != k && j != l && k != l
&& i * i * i * i + j * j * j * j + k * k * k * k + l * l * l * l == i * 1000 + j * 100 + k * 10 + l)
printf("%d\n" , i * 1000 + j * 100 + k * 10 + l);
}
}
}
}
return 0;
}
3.結果填空:方格填數(暴力)
藍橋杯暴力的極致體現。
#include<iostream>
using namespace std;
int g[15];
int sum = 0;
int main(){
for(int i = 0 ; i <= 9 ; i ++){
for(int j = 0 ; j <= 9 ; j ++){
for(int k = 0 ; k <= 9 ; k ++){
for(int l = 0 ; l <= 9 ; l ++){
for(int a = 0 ; a <= 9 ; a ++){
for(int b = 0 ; b <= 9 ; b ++){
for(int c = 0 ; c <= 9 ; c ++){
for(int d = 0 ; d <= 9 ; d ++){
for(int e = 0 ; e <= 9 ; e ++){
for(int f = 0 ; f <= 9 ; f ++){
g[0] = i , g[1] = j ,g[2] = k ,g[3] = l ,g[4] = a ,g[5] = b ,g[6] = c , g[7] = d ,g[8] = e ,g[9] = f;
if(g[0] + g[5] == g[2] + g[7] && g[2] + g[7] == g[4] + g[9] && g[0] + g[5] == g[4] + g[9] && g[1] + g[6] == g[3] + g[8]
&& g[0] != g[1] && g[0] != g[2] && g[0] != g[3] && g[0] != g[4] && g[0] != g[5] && g[0] != g[6] && g[0] != g[7] && g[0] != g[8] && g[0] != g[9]
&& g[1] != g[2] && g[1] != g[3] && g[1] != g[4] && g[1] != g[5] && g[1] != g[6] && g[1] != g[7] && g[1] != g[8] && g[1] != g[9]
&& g[2] != g[3] && g[2] != g[4] && g[2] != g[5] && g[2] != g[6] && g[2] != g[7] && g[2] != g[8] && g[2] != g[9]
&& g[3] != g[4] && g[3] != g[5] && g[3] != g[6] && g[3] != g[7] && g[3] != g[8] && g[3] != g[9]
&& g[4] != g[5] && g[4] != g[6] && g[4] != g[7] && g[4] != g[8] && g[4] != g[9]
&& g[5] != g[6] && g[5] != g[7] && g[5] != g[8] && g[5] != g[9]
&& g[6] != g[7] && g[6] != g[8] && g[6] != g[9]
&& g[7] != g[8] && g[7] != g[9]
&& g[8] != g[9]){
sum ++;
}
}
}
}
}
}
}
}
}
}
}
printf("%d" , sum);
return 0;
}
4.程式碼填空:列印菱形(數學)
注意這個地方的j & 1相當巧妙。但是這個問題用不上。
#include <stdio.h>
#include <string.h>
void f(int n) {
for (int i = 0; i < n * 2 - 1; ++i) {
int k = n > (i + 1) ? i : 2 * n - 2 - i ; // ²¹È«Õâ¾ä´úÂë
for (int j = 0; j < n - k - 1; ++j) {
printf(" ");
}
for (int j = 0; j < k * 2 + 1; ++j) {
if (j&1) {
printf(" ");
} else {
printf("*");
}
}
printf("\n");
}
}
int main() {
f(14);
return 0;
}
8.程式設計:插花 (貪心)
#include<iostream>
using namespace std;
int main(){
int n;
scanf("%d" , &n);
getchar();
char a[300005];
scanf("%s" , a);
int sum = 0 , pos = n - 1;//pos代表最後要放入的那個位置//
for(int i = 2 * n - 1 ; i >= pos ; i --){//從最後一個數字開始到目前要放的那個位置//
if(a[i] == '1'){
sum += (i - pos);
pos --;
}
}
printf("%d" , sum);
return 0;
}
6.worse
#include<iostream>
using namespace std;
int mul = 1;
int dx[4] = {0 , 1 , 0 , -1};
int dy[4] = {1 , 0 , -1 , 0};
int g[10][10] = { 0 };
bool v[10][10] = { 0 };
void dfs(int x , int y , int sum , int m){
if(sum > 24){
return ;
}
if(m > mul){
mul = m;
}
v[x][y] = 1;
m *= g[x][y];
for(int i = 0 ; i < 4 ; i ++){
int sx = x + dx[i];
int sy = y + dy[i];
if( v[sx][sy] == 0 && sx <= 5 && sy <= 5 && sx >= 1 && sy >= 1){
v[sx][sy] = 1;
dfs(sx , sy , sum + g[sx][sy] , m);
}
v[x][y] = 0;
}
}
相關文章
- 【藍橋杯】計蒜客2017模擬賽A習題整理
- 2017省賽藍橋杯B組
- 【藍橋杯考前突擊】第十一屆藍橋杯校賽模擬C/C++ 正整數序列C++
- 藍橋杯2015決賽]四階幻方
- 藍橋杯模擬題——長草問題
- 2017藍橋杯省賽第十題:k倍區間
- 第十四屆藍橋杯第一期模擬賽 pythonPython
- 藍橋杯javaB組備賽Java
- 2017年藍橋杯——購物清單
- 2018藍橋杯省賽B組
- 藍橋杯大賽——驅動程式
- 藍橋杯 計算方程
- 藍橋杯
- [藍橋杯2018決賽]最大乘積
- 計蒜客:騎車比賽(Dijkstra)
- 2017年藍橋杯javaB組——等差素數列Java
- 藍橋杯-四平方和
- 藍橋杯-日誌統計
- 第14屆藍橋杯B組國賽
- 藍橋杯第9場小白入門賽
- 第十三屆藍橋杯省賽A組
- 藍橋杯省賽真題2013題解
- 2020藍橋杯競賽複習指導
- 2016年藍橋杯C/C++組省賽第四題--快速排序C++排序
- 2017第八屆藍橋杯C/C++ B組省賽第二題 秒解C++
- 1303: [藍橋杯2016決賽]路徑之謎
- 2017年藍橋杯A組-分巧克力(整數二分)
- 藍橋杯 買瓜
- 藍橋杯-分巧克力
- 藍橋杯-N皇后
- 藍橋杯真題
- 藍橋杯 剪格子
- 2013第四屆藍橋杯省賽C++A組【第一題:高斯日記】C++
- 藍橋杯2015初賽生命之樹 DFS圖解圖解
- 2016藍橋杯省賽第七題剪郵票
- 第六屆藍橋杯省賽CC++B組C++
- 藍橋杯-長草(BFS)
- 藍橋杯-螞蟻感冒