Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:大家帮我看看 为什么 总是提示Rumtime Error?In Reply To:大家帮我看看 为什么 总是提示Rumtime Error? Posted by:ajige at 2011-09-21 11:24:02 > > #include <iostream> > #include <cmath> > #include <algorithm> > #include <stdio.h> > > #define min(a,b) ((a)<(b)?(a):(b)) > > using namespace std; > > struct scope > { > double left; > double right; > } sscope[1000]; > > int cmp(struct scope x, struct scope y) > { > return x.left < y.left ? 1 : 0; > } > int main() > { > int n = 0, i = 0, cas = 1, omit = 0, count = 1; > double location = 0 , r = 0, x = 0, y = 0; > > while (scanf("%d %lf", &n, &r)) > { > if (n == 0 && r == 0) > break; > i = 0; > omit = 0; > while (i < n) > { > scanf("%lf %lf", &x, &y); > if (y > r) > { > printf("Case %d: -1\n", cas); > omit = 1; > break; > } > sscope[i].left = x - sqrt(pow(r, 2) - pow(y, 2)); > sscope[i].right = x + sqrt(pow(r, 2) - pow(y, 2)); > > i++; > } > if (omit != 1) > { > sort(sscope, sscope + n, cmp); > > for (i = 0, count = 1; i < n - 1; i++) > { > location = sscope[i].right; > if (location < sscope[i + 1].left) > { > count++; > location = sscope[i].right; > } > else > location = min(sscope[i+1].right, location); > } > > printf("Case %d: %d\n", cas, count); > > cas++; > } > } > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator