2020年百度之星程式設計大賽 - 初賽一
阿新 • • 發佈:2020-07-26
比賽題目連結
http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=889
1001-Drink
思路:簡單暴力。
AC程式碼
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define sc(T) scanf("%d",&T) #define scc(x,y) scanf("%d %d",&x,&y) #define pr(T) printf("%d\n",T) #define inf 0x3f3f3f3f int main() { int T; sc(T); while(T--) { int n,m,mi=inf; scc(n,m); for(int i=1; i<=n; i++) { int x,y; scc(x,y); int k=m/x; if(m%x!=0) k++; mi=min(mi,k*y); } pr(mi); } return 0; }
1002-GPA
思路:簡單暴力。四層for迴圈即可。
AC程式碼:
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define sc(T) scanf("%d",&T) #define scc(x,y) scanf("%d %d",&x,&y) #define pr(T) printf("%d\n",T) #define inf 0x3f3f3f3f struct node { double x,y; } a[15]; int main() { a[1].x=0,a[1].y=0; a[2].x=60,a[2].y=1.0; a[3].x=62,a[3].y=1.7; a[4].x=65,a[4].y=2.0; a[5].x=67,a[5].y=2.3; a[6].x=70,a[6].y=2.7; a[7].x=75,a[7].y=3.0; a[8].x=80,a[8].y=3.3; a[9].x=85,a[9].y=3.7; a[10].x=90,a[10].y=4.0; a[11].x=95,a[11].y=4.3;//放主函式外面不行 int T; sc(T); while(T--) { double x; scanf("%lf",&x); double ma=-inf*1.0; for(int i=1; i<=11; i++) { for(int j=1; j<=11; j++) { for(int k=1; k<=11; k++) { for(int p=1; p<=11; p++) { if(a[i].x+a[j].x+a[k].x+a[p].x<=x) ma=max(ma,a[i].y+a[j].y+a[k].y+a[p].y); } } } } printf("%.1lf\n",ma); // for(int i=0; i<=100; i++) // { // for(int j=0; j<=100; j++) // { // for(int k=0; k<=100; k++) // { // if(1.0*(i+j+k)>=0&&1.0*(i+j+k)<=x) // { // double kk=x-1.0*(i+j+k); // } // } // } // } } return 0; }
1003-Dec
思路:簡單DP。但是我犯了一個錯,腦子一抽,把所有的__gcd(x,y)=?,把這個問號部分預設為1了。
AC程式碼
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define sc(T) scanf("%d",&T) #define scc(x,y) scanf("%d %d",&x,&y) #define pr(T) printf("%d\n",T) #define inf 0x3f3f3f3f int dp[1005][1005]; void init() { //dp[1][1]=1; for(int i=1; i<=1000; i++) { for(int j=1; j<=1000; j++) { if(__gcd(i,j)==1) dp[i][j]=max(dp[i-1][j],dp[i][j-1])+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } } int main() { init(); int T; sc(T); while(T--) { int x,y; scc(x,y); pr(dp[x][y]); } return 0; }
1004-Civilization
思路:BFS。
AC程式碼
看下這個博主寫的:https://blog.csdn.net/qq_33957603/article/details/107523424