目录
MC0249 疗养院的福利
#include<bits/stdc++.h>
using namespace std;
struct MAN{
int years;
int index;
};
bool cmp(MAN &a,MAN &b)
{
if(a.years!=b.years)return a.years>b.years;
else return a.index<b.index;
}
MAN a[1001];
int main( )
{
int n;cin>>n;
for(int i=1;i<=n;++i)
{
cin>>a[i].years;
a[i].index=i;
}
int k;cin>>k;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=k;++i)cout<<a[i].index<<' ';
return 0;
}
MC0248 密码判断器
def check() -> bool:
if len(A) <= 6:
return False
s1 = {}
s2 = {}
s3 = {}
for c in A:
if c >= 'a' and c <= 'z':
s1[c] = None
if c >= 'A' and c <= 'Z':
s2[c] = None
if c >= '0' and c <= '9':
s3[c] = None
if len(s1) == 0 or len(s2) == 0 or len(s3) == 0:
return False
for i in range(1, len(A)):
if A[i - 1] >= '0' and A[i - 1] <= '9' and A[i] >= '0' and A[i] <= '9':
return False
return True
def solve():
global A
A = input()
if check():
print("True")
else:
print("False")
if __name__ == '__main__':
solve()
MC0251 小码哥锻炼
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n;
const vector<int> W = {1, 3, 7, 13};
void solve() {
cin >> n;
vector<int> dp(n + 1);
for (int i = 0; i <= n; i++) {
int temp = INT_MAX;
for (const auto&w: W) {
if (i - w >= 0) {
temp = min(temp, dp[i - w]);
}
}
if (temp != INT_MAX) {
dp[i] = temp + 1;
}
}
cout << dp[n] << endl;
}
auto main() -> signed {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
solve();
return 0;
}
MC0240 小码哥和假期堵车
def solve():
n, t = map(int, input().split())
arr: list[int] = list(map(int, input().split()))
day = 1
for it in arr:
diff = 1440 - it
if diff >= 60:
t -= diff
if t <= 0:
break
day += 1
print(day)
if __name__ == '__main__':
solve()
MC0252 小码哥的数字游戏
def solve():
n, m = map(int, input().split())
T = int(input())
mark = [[False for _ in range(m)] for _ in range(n)]
for i in range(n):
line = list(map(int, input().split()))
for j in range(m):
if line[j] <= T:
mark[i][j] = True
R = float("inf")
C = float("inf")
def dfs():
nonlocal R, C
x1, y1, x2, y2 = n, m, -1, -1
for i in range(n):
for j in range(m):
if mark[i][j]:
x1 = min(x1, i)
y1 = min(y1, j)
x2 = max(x2, i)
y2 = max(y2, j)
R = min(R, x2 - x1 + 1)
C = min(C, y2 - y1 + 1)
dfs()
print(R)
print(C)
if __name__ == '__main__':
solve()