題意:第三個數等於前兩個數各個位數相加的和,求第n個數字多少。
思路:找迴圈節,當時雖然知道有迴圈節,但是沒找著規律,開個flag陣列來記錄數字第-次出現的位置,jd陣列來表示迴圈節的長度和書否出現在迴圈節中。
**:
#include #include #include #include using namespace std;
#define ll long long int
int flag[55][55];// 迴圈節的標誌
int jd[55][55];
void init()
int qs(int x)
return sum;
}void qh(int &x,int &y)
void dfs(int x,int y,int pos)
flag[x][y]=pos;
qh(x,y);
dfs(x,y,pos+1);
}int main()
dfs(x,y,0);
while(n>1&&jd[x][y]==0)
n=n%(jd[x][y]);
if(!n)n=jd[x][y];
while(n>1)
printf("case #%lld: %d\n",k++,x);
}return 0;
}
題意:從一推棍子中每次挑3根,挑過的不能再挑,看最多能組成多少個三角形。
思路:用狀壓解決,用二進位制的0和1表示是否取了這根木棍,從0列舉到2^n,只有二進位制中1的個數為3的倍數的才是有效狀態,
且沒有重複拿的狀態即可。
**:
#include #include #include #include using namespace std;
#define ll long long
const int n=5555555;
int dp[n];
ll a[25];
int ss[n];
int cnt,num;
struct node
s[n];
bool cmp(node a,node b)
if(b[1]+b[2]>b[3]&&b[2]+b[3]>b[1]&&b[1]+b[3]>b[2])return true;
return false;
}void findx(int x)//
if(k%3==0)
if(k==3&&judge(y))
}int main()
for(i=0;i<(1<=1;i--)}}
return 0;
}
思路:直接模擬就好了,當能整除mod時候直接跳出迴圈。
**:
#include #include #include #include using namespace std;
int m,n;
int main()
int main()
}for(int i=1;i<=m;i++)}}
int x,y;
char c;
int z;
scanf("%d %d %c",&x,&y,&c);
printf("case #%d: ",t++);
if(c=='u')
if(judge(xx-1,yy))
if(judge(xx,yy+1))
if(judge(xx,yy-1))
if(mm[xx][yy]==0&&z>=2)
else printf("0\n");
}if(c=='d')
if(judge(xx-1,yy))
if(judge(xx,yy+1))
if(judge(xx,yy-1))
if(mm[xx][yy]==0&&z>=2)
else printf("0\n");
}if(c=='l')
if(judge(xx-1,yy))
if(judge(xx,yy+1))
if(judge(xx,yy-1))
if(mm[xx][yy]==0&&z>=2)
else printf("0\n");
}if(c=='r')
if(judge(xx-1,yy))
if(judge(xx,yy+1))
if(judge(xx,yy-1))
if(mm[xx][yy]==0&&z>=2)
else printf("0\n");}}
return 0;
}
12 9 1 熱身賽總結
情況 0 4 一共開了4題 開始審題看榜,做過的比較多的。c題模擬,plato在寫,一直沒出。g題圖論 生成樹 z在寫,最後也沒出。之後,b題dp,p換題去寫,也沒出 其實看時間到要用n或者n logn的演算法,當時只有n 2的想法,如果是真實比賽不該去試的 最後是ac0題。賽後看了部分題解,d題是...
藍橋杯熱身賽
藍橋盃前的熱身賽,校內選拔賽,最基礎的程式設計練習 思維構造 分享給大家,也希望藍橋杯有個好成績 1.上電顯示時間為23時59分55秒,此後時間一直保持行走。10分 若跳到其他介面,按鍵按s1後,返回時間介面。其他介面類似 2.利用pcf8591模組測量電壓,幅值為 0v 5v 按下s2,顯示介面為...
某場熱身賽 A Famous Grid
題意 給乙個有規律的二維陣列,1 在正中,數值繞圈遞增。也可以想象成乙個圖,其中素數的格仔不能走。輸入2個數,求從第乙個數走到第二個數需要的最少步數。這個主要是要畫出這個特殊的圖 陣列 算是乙個模擬的過程吧。畫圖之前還需要乙個陣列存素數,然後不能走的格仔就賦成 1,詳情見 圖畫完了,就開始寬搜求解,...