2020-team2-paste
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
#include <bits/stdc++.h>
using namespace std;
const int N = 100;
int n, d, s, t, fmn, fmx;
vector<double> ans;
int vis[N];
inline int Sqr(int x) {
return x * x;
}
inline double Calc(int k) {
return sqrt(Sqr(k * d) + Sqr(s));
}
inline void Dfs(int x, int num, double len) {
if (num == n - 1) {
ans.push_back(len + Calc(n - x) * 2);
return;
}
if (x > 1 && !vis[x - 1]) {
vis[x - 1] = 1;
Dfs(x - 1, num + 1, len + d * 2);
vis[x - 1] = 0;
}
if (x + 1 < n && !vis[x + 1]) {
vis[x + 1] = 1;
Dfs(x + 1, num + 1, len + d * 2);
vis[x + 1] = 0;
}
for (int i = 1; i < n; ++i) if (!vis[i]) {
vis[i] = 1;
Dfs(i, num + 1, len + Calc(i - x) * 2);
vis[i] = 0;
}
}
int main() {
scanf("%d%d%d%d%d%d", &n, &d, &s, &t, &fmn, &fmx);
vis[1] = 1;
Dfs(1, 1, s + t * 2 * n);
int len;
for (auto x: ans) printf("%.10lf\n", x);
while (scanf("%d", &len)) {
int tmp = upper_bound(ans.begin(), ans.end(), len - 2 * fmn) - lower_bound(ans.begin(), ans.end(), len - 2 * fmx);
printf("%d\n", tmp);
}
return 0;
}
/*
3 10 25 3 125 175
485
410
116.8516480713
150.7032961427
*/
#include
using namespace std;
const int N = 100;
int n, d, s, t, fmn, fmx;
vector
int vis[N];
inline int Sqr(int x) {
return x * x;
}
inline double Calc(int k) {
return sqrt(Sqr(k * d) + Sqr(s));
}
inline void Dfs(int x, int num, double len) {
if (num == n - 1) {
ans.push_back(len + Calc(n - x) * 2);
return;
}
if (x > 1 && !vis[x - 1]) {
vis[x - 1] = 1;
Dfs(x - 1, num + 1, len + d * 2);
vis[x - 1] = 0;
}
if (x + 1 < n && !vis[x + 1]) {
vis[x + 1] = 1;
Dfs(x + 1, num + 1, len + d * 2);
vis[x + 1] = 0;
}
for (int i = 1; i < n; ++i) if (!vis[i]) {
vis[i] = 1;
Dfs(i, num + 1, len + Calc(i - x) * 2);
vis[i] = 0;
}
}
int main() {
scanf("%d%d%d%d%d%d", &n, &d, &s, &t, &fmn, &fmx);
vis[1] = 1;
Dfs(1, 1, s + t * 2 * n);
int len;
for (auto x: ans) printf("%.10lf\n", x);
while (scanf("%d", &len)) {
int tmp = upper_bound(ans.begin(), ans.end(), len - 2 * fmn) - lower_bound(ans.begin(), ans.end(), len - 2 * fmx);
printf("%d\n", tmp);
}
return 0;
}
/*
3 10 25 3 125 175
485
410
116.8516480713
150.7032961427
*/
附加文件
- statements.pdf by Heltion
- problems2020-2021.pdf by l1ll5