1三天时间
#include <iostream>
using namespace std;
int main()
{cout << 999 * 26 / 24 << " " << 999 * 26 % 24 << endl;return 0;
}
2存储晶体
#include <bits/stdc++.h>using namespace std;
int main()
{int a,b,n;cin >> a >> b >> n;a *= a;b *= b;double tmp = sqrt(a + b);for (int i = 1;i <= n;i ++){int m; cin >> m;if (m < tmp) cout << "YES" << endl;else cout << "NO" << endl;}return 0;
}
3屏蔽信号
暴力模拟题意即可
LL a,b;
void solve()
{LL cnt = 0;cin >> a >> b;while(a && b){//a >= bif (a < b) swap(a,b);LL t = a - b;a = t;cnt ++;}cout << cnt << endl;
}
5 智商检测(dp)
发现一个有意思的数组开法
vector<vector<LL>> dp(n+1, vector<LL>(k+1, 0));//开n + 1 * k + 1,普通数组开不下
const int N = 1e5 + 9; // LL dp[N][N];//从前i个数中删除j个
int n,k;
LL a[N];LL gcd(LL a,LL b)
{return b ? gcd(b,a % b) : a;
}void solve()
{cin >> n >> k;vector<vector<LL>> dp(n+1, vector<LL>(k+1, 0));//开n + 1 * k + 1,普通数组开不下for (int i = 1;i <= n;i ++) cin >> a[i];//初始化for (int i = 1;i <= n;i ++)dp[i][0] = gcd(dp[i - 1][0],a[i]);for (int i = 1;i <= n;i ++)for (int j = 1;j <= min(i,k);j ++){if (i - 1 >= j) dp[i][j] = gcd(dp[i - 1][j],a[i]);//保留第i个//if的原因:dp[i-1][j]从前j-1个物品中删j个,dp[i][j] = max(dp[i][j],dp[i - 1][j - 1]);//删除第i个,再从前i-1中删j-1个}cout << dp[n][k] << endl;
}