2018-2019 ACM-ICPC, Asia East Continent Finals 문제 해결
44510 단어 #ICPC와 CCPC 시합 문제 풀이
A. Exotic … Ancient City
해제 링크: 2018 EC-Final 부분 해제(A, J) ABCDEFGIJKL CodeForces Gym 102056 간략한 해제
B. Mysterious … Host
문제 해결 링크: ABCDEFGIJKL CodeForces Gym 102056 간략한 문제 해결
C. Heretical … Möbius
문제풀이 링크: [중국의 잉여정리] [기교] codeforces 102056C Heretical... M捖bius Gym-102056C(2018EC final)-CRT ABCDEFGIJKL CodeForces Gym 102056 간략한 문제풀이
D. Deja vu of … Go Players
AC의 C++ 언어 프로그램:
#include
using namespace std;
#define endl "
"
#define int long long
#define IO ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
int n,m;
main()
{
IO;
int T;
cin>>T;
while(T--){
cin>>n>>m;
for(int i=1,x;i<=n;i++){
cin>>x;
}
for(int i=1,x;i<=m;i++){
cin>>x;
}
if(n>m) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
}
E. Immortal … Universe
문제 해결 링크: ABCDEFGIJKL CodeForces Gym 102056 간략한 문제 해결
F. Interstellar … Fantasy
AC의 C++ 언어 프로그램:
#include
#include
#include
#include
#include
using namespace std;
const double pi = acos(-1);
double os, ot, st, os2, ot2, st2;
double r1, r2, ans1, ans2, ans3;
typedef struct node {
double x, y, z;
} node;
double sqr(double x) { return x * x;}
double calR(double a2, double b2, double c2) { return (acos((a2 + b2 - c2) / (2 * sqrt(a2 * b2))));}
double dis2(node a, node b) { return sqr(a.x - b.x) + sqr(a.y - b.y) + sqr(a.z - b.z); }
int main() {
int t;
scanf("%d", &t);
while (t--) {
node oo;
double R;
node s, t;
scanf("%lf%lf%lf%lf", &oo.x, &oo.y, &oo.z, &R);
scanf("%lf%lf%lf%lf%lf%lf", &s.x, &s.y, &s.z, &t.x, &t.y, &t.z);
os2 = dis2(oo, s); ot2 = dis2(oo, t); st2 = dis2(s, t);
if(st2 == 0) {
printf("%.8lf
", 0.0);
continue;
}
os = sqrt(os2); ot = sqrt(ot2); st = sqrt(st2);
if(calR(ot2, st2, os2) >= pi / 2 || calR(os2, st2, ot2) >= pi/2) {
printf("%.8lf
", st);
continue;
}
double R_sot = calR(ot2,os2,st2);
double h = os * ot * sin(R_sot) / st;
if(h >= R) {
printf("%.8lf
", st);
continue;
}
r1 = acos(R / os);
r2 = acos(R / ot);
ans1 = sqrt(os2 - R * R);
ans2 = sqrt(ot2 - R * R);
ans3 = R * (R_sot - r1 - r2);
printf("%.8lf
",ans1 + ans2 + ans3);
}
}
G. Omnipotent … Garland
문제 해결 링크: ABCDEFGIJKL CodeForces Gym 102056 간략한 문제 해결
H. Saintly … Coins
I. Misunderstood … Missing
AC의 C++ 언어 프로그램:
#include
#include
#include
using namespace std;
typedef long long ll;
const int MAXN = 101;
int n;
ll dp[2][MAXN][MAXN*MAXN+1];
ll a[MAXN], b[MAXN], c[MAXN];
int main() {
int T;
scanf("%d", &T);
while(T--) {
scanf("%lld", &n);
for(int i = 1; i <= n; i++)
scanf("%lld%lld%lld", &a[i], &b[i], &c[i]);
memset(dp, 0, sizeof(dp));
dp[n & 1][1][n] = a[n];
for(int i = n - 1; i >= 1; i--) {
for(int j = 1; j <= n - i; j++) {
int u = (i + i + j) * (j - 1) / 2 + n, v = (n + n - j + 1) * j / 2;
for(int k = u; k <= v; k++) {
dp[i & 1][j + 1][k + i] = max(dp[i & 1][j + 1][k + i], dp[(i + 1) & 1][j][k] + a[i]);
dp[i & 1][j][k] = max(dp[i & 1][j][k], dp[(i + 1) & 1][j][k] + (k - j * i) * b[i]);
dp[i & 1][j][k] = max(dp[i & 1][j][k], dp[(i + 1) & 1][j][k] + j * c[i]);
}
}
}
ll ans = 0;
for(int j = 1; j <= n; j++)
for(int k = 1; k <= MAXN * MAXN + 1; k++) ans = max(ans, dp[1][j][k]);
printf("%lld
", ans);
}
}
J. Philosophical … Balance
해제 링크: 2018 EC-Final 부분 해제(A, J) ABCDEFGIJKL CodeForces Gym 102056 간략한 해제
K. Desperate … Fire Survive
문제 해결 링크: ABCDEFGIJKL CodeForces Gym 102056 간략한 문제 해결
L. Eventual … Journey
AC의 C++ 언어 프로그램:
#include
#include
#include
#include
const int MAXN = 100000;
using namespace std;
int lr[MAXN + 5], num[MAXN + 5];
int n, m, nl, nr, nl1, nr1;
int main() {
cin >> n >> m;
nl = nr = 0;
for (int i = 1; i <= n; i++){
cin >> lr[i];
if (lr[i]) nl++;
else nr++;
}
for (int i = 1; i <= m; i++){
int u, v;
cin >> u >> v;
if (lr[u] != lr[v]) {
if (num[u]==0) {
if (lr[u] == 1) nl1++;
else nr1++;
}
if (num[v]==0){
if (lr[v] == 1) nl1++;
else nr1++;
}
num[u]++;
num[v]++;
}
}
for (int i = 1; i <=n;i++){
int ans = 0;
if (lr[i] == 1){
if (num[i] == 0) ans += nl - 1 + nr1 * 2 + (nr - nr1 ) * 3;
else ans += num[i] + (nl - 1) + 2 * (nr - num[i]);
} else{
if (num[i] == 0) ans += nr - 1 + nl1 * 2 + (nl - nl1) * 3;
else ans += num[i] + (nr - 1) + 2 * (nl - num[i]);
}
if (i != n) cout << ans << " ";
else cout << ans << endl;
}
return 0;
}
문제 해결 링크: ABCDEFGIJKL CodeForces Gym 102056 간략한 문제 해결
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rails Turbolinks를 페이지 단위로 비활성화하는 방법원래 Turobolinks란? Turbolinks는 링크를 생성하는 요소인 a 요소의 클릭을 후크로 하고, 이동한 페이지를 Ajax에서 가져옵니다. 그 후, 취득 페이지의 데이터가 천이 전의 페이지와 동일한 것이 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.