- Source Code
#include<iostream> #include<algorithm> #include<cmath> using namespace std; int main() { int n, k, nn = 1; while (cin >> n >> k && (n + k)) { double a[1002][2]; bool b = 1; for (int i = 0; i < n; i++) { int x, y; cin >> x >> y; if (y > k) { b = 0; continue; } a[i][0] = 1.00*x - sqrt(1.00*k*k - 1.00*y*y); a[i][1] = 1.00*x + sqrt(1.00*k*k - 1.00*y*y); } if (b == 0) { cout << "Case " << nn << ": " << "-1" << endl; nn++; continue; } for (int i = 0; i < n - 1; i++) { double mm = a[i][0];int h = i; for (int j = i; j < n; j++) { if (a[j][0] < mm)mm = a[j][0], h = j; } double t = a[i][0]; a[i][0] = a[h][0]; a[h][0] = t; t = a[i][1]; a[i][1] = a[h][1]; a[h][1] = t; } int tt = 0, sum = 1; for (int i = 0; i < n; i++) { if (a[i][0] > a[tt][1]) { sum++; tt = i; } else if (a[i][1] < a[tt][1]) { tt = i; } } cout << "Case " << nn << ": " << sum << endl; nn++; } return 0; }
POJ 1328 Radar Installation
最新推荐文章于 2022-11-27 23:18:23 发布