柚子快報(bào)邀請(qǐng)碼778899分享:算法 藍(lán)橋杯(填空題)
柚子快報(bào)邀請(qǐng)碼778899分享:算法 藍(lán)橋杯(填空題)
十四屆
B組 日期統(tǒng)計(jì)(暴力枚舉)
數(shù)據(jù)
5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2
7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 3 8 5 1 6 3 4 6 7 0 7 8 2 7 6 8 9 5 6 5 6 1 4 0 1
0 0 9 4 8 0 9 1 2 8 5 0 2 5 3 3
審清題意:人家問的是這些數(shù)當(dāng)中的子序列 有沒有符合 2023mmdd 的 不是找能夠多少個(gè)???
答案:235?
#include
#include
#include
#include
using namespace std;
int month[13]={0,1,2,3,4,5,6,7,8,9,10,11,12};
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int a[110];
int main()
{
for(int i=1;i<=100;i++) cin>>a[i];
int sum=0;
for(int i=1;i<=12;i++)
{
for(int j=1;j<=day[i];j++)
{
int b[8]={2,0,2,3,i/10,i%10,j/10,j%10};
int l=0;
for(int i=1;i<=100;i++)
{
if(b[l]==a[i])
{
l++;
}
if(l==8) break;
}
if(l==8) sum++;
}
}
cout< return 0; } 第十三屆 A組 滅鼠先鋒(博弈) 答案:LLLV? #include #include #include #include using namespace std; map // 判斷是否僅存在一個(gè)空格(O) // 掃描字符串并對(duì)O的數(shù)量計(jì)數(shù) bool check(string str) { int cnt=0; for(int i=0;i { if(str[i]=='O') cnt++; } if(cnt==1) return true; return false; } /* * 后手必勝/必?cái)?/p> */ bool dfs(string str) { if(sg.count(str)) return sg[str];// 記憶化 // 如果只有一個(gè)空位,也就是說后手必?cái)?/p> if(check(str)) return sg[str]=false; /* * 模擬放一個(gè)的情況 */ for(int i=0;i { if(str[i]=='O') { string s=str; s[i]='X'; // 可達(dá)必?cái)【鶠楸貏?/p> // 意思是存在當(dāng)前選手下了某一步棋之后,后面的選手不管怎么下都必?cái)?/p> if(!dfs(s)) return sg[str]=true; } }/* * 模擬放兩個(gè)的情況 */ for(int i=0;i { // i!=3是什么意思?因?yàn)檫@里是把兩行排成一行了,不能第一行最后一個(gè)+第二行第一個(gè)算作連續(xù)兩個(gè) if(str[i]=='O'&&str[i+1]=='O'&&i!=3) { string s=str; s[i]='X'; s[i+1]='X'; // 可達(dá)必?cái)【鶠楸貏?/p> if(!dfs(s)) return sg[str]=true; } } // 只達(dá)必勝均為必?cái)?/p> // 排除了所有可能到達(dá)必?cái)B(tài)的情況,接下來不管自己或者下一步對(duì)方怎么下對(duì)方都必勝,自己必?cái)?/p> return sg[str]=false; } int main() { // 表示棋盤的四種狀態(tài) string str[4]={"XOOOOOOO","XXOOOOOO","OXOOOOOO","OXXOOOOO"}; for(int i=0;i<4;i++) { sg.clear(); if(dfs(str[i])) cout<<"L";// 后手必勝 else cout<<"V"; } return 0; } ? 研究生組 小藍(lán)與藥匙(錯(cuò)排) 思路:從28把鑰匙中選14(14鑰匙一 一對(duì)應(yīng)對(duì)應(yīng)對(duì)的門) 然后讓剩下的14把鑰匙錯(cuò)排? 錯(cuò)排公式 An=(n-1)*(An-1+An-2)? #include #include #define int long long using namespace std; const int N=30; int f[N]; signed main() { int num=1,num1=1; for(int i=15;i<=28;i++) num*=i; for(int i=1;i<=14;i++) num1*=i; num/=num1; f[1]=0; f[2]=1; for(int i=3;i<=14;i++) { f[i]=(i-1)*(f[i-1]+f[i-2]); } cout< return 0; } ? 柚子快報(bào)邀請(qǐng)碼778899分享:算法 藍(lán)橋杯(填空題) 文章來源
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。