Atcoder Beginner Contest 273 ABC
A
题意:
求 A 的阶乘
解法:
暴力
C o d e Code Code
# include <bits/stdc++.h>
//# include "windows.h"
# define ll long long
//# define int ll
# define db double
# define mod 998244353
//# define mod 1000000007
# define inf 1000000000
# define INF 1000000000000000000
# define fi first
# define se second
# define pb push_back
# define RI register int
# define vi vector <int>
# define REP(i, n, m) for (RI i = (n);i <= (m);i++)
# define rep(i, n) REP(i, 1, n)
# define foreach(i, c) for (__typeof__((c).end()) i = (c).begin();i != (c).end();i++)
# define pi acos(-1)
# define pii pair <int, int>
using namespace std;
int dx[15] = {
0, 0, 1, -1, -1, -1, 1, 1};
int dy[15] = {
1, -1, 0, 0, -1, 1, -1, 1};
int main(){
int n, ans = 1;
cin >> n;
for (int i = 1;i <= n;i++) ans *= i;
cout << ans;
return 0;
}
B
题意:
给你两个数 n n n 和 k k k,让你每次求离 1 0 i 10^i 10i 最近的数 ( i ∈ [ 1 , k ] ) (i \in [1, k]) (i∈[1,k])
解法:暴力
C o d e Code Code
# include <bits/stdc++.h>
//# include "windows.h"
# define ll long long
# define int ll
# define db double
# define mod 998244353
//# define mod 1000000007
# define inf 1000000000
# define INF 1000000000000000000
# define fi first
# define se second
# define pb push_back
# define RI register int
# define vi vector <int>
# define REP(i, n, m) for (RI i = (n);i <= (m);i++)
# define rep(i, n) REP(i, 1, n)
# define foreach(i, c) for (__typeof__((c).end()) i = (c).begin();i != (c).end();i++)
# define pi acos(-1)
# define pii pair <int, int>
using namespace std;
int dx[15] = {
0, 0, 1, -1, -1, -1, 1, 1};
int dy[15] = {
1, -1, 0, 0, -1, 1, -1, 1};
signed main(){
int n, m, k = 1;
cin >> n >> m;
for (int i = 1;i <= m;i++){
k *= 10;
n = n/k*k + (n%k >= k/2) * k;
}
cout << n;
return 0;
}
C
题意:
你有一个序列 A = ( A 1 , A 2 , . . . , A n ) A = (A_1, A_2 , \ ..., A_n) A=(A1,A2, ...,An</