A.


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main () {
ios::sync_with_stdio(false);
cin.tie(0);
int t;
cin >> t;
while(t--) {
ll a, b, c, d;
cin >> a >> b >> c >> d;
if(b >= a) {
cout << b <<endl;
}
else if(c <= d) {
cout << -1 <<endl;
}
else {
ll s = (a - b) / (c - d);
if(s * (c - d) < (a - b)) {
s++;
}
cout << b + s * c << endl;
}
}
}
B.贪心算法


C.计算几何简单版


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main () {
int t;
cin >> t;
while(t--) {
int n;
cin >> n;
double ans = 1.0 / tan(acos(-1) / (n * 2));
printf("%.9f
", ans);
}
}
C2.计算几何(复杂版)


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main () {
int t;
cin >> t;
while(t--) {
int n;
cin >> n;
double ans = 1.0 / (2.0 * sin(acos(-1) / (4 * n)));
printf("%.9f
", ans);
}
}