2015-02-07 21:34:53
总结:这场开场有点慢了... 还好前三题都是可做题。搞了三题+1hack,rank30。
A:因为是幂的比较,所以考虑到两边取log,然后直接比较即可。但是卡了下精度,要先看是否相等(fabs()< 1e-10),然后再判大小。
1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cmath> 5 #include <vector> 6 #include <map> 7 #include <set> 8 #include <stack> 9 #include <queue> 10 #include <string> 11 #include <iostream> 12 #include <algorithm> 13 using namespace std; 14 15 #define MEM(a,b) memset(a,b,sizeof(a)) 16 #define REP(i,n) for(int i=0;i<(n);++i) 17 #define REV(i,n) for(int i=(n-1);i>=0;--i) 18 #define FOR(i,a,b) for(int i=(a);i<=(b);++i) 19 #define RFOR(i,a,b) for(int i=(a);i>=(b);--i) 20 #define getmid(l,r) ((l) + ((r) - (l)) / 2) 21 #define MP(a,b) make_pair(a,b) 22 23 typedef long long ll; 24 typedef pair<int,int> pii; 25 const int INF = (1 << 30) - 1; 26 27 double a,b,c,d; 28 double A,B; 29 30 int main(){ 31 while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d) != EOF){ 32 A = 1.0 * b * log(1.0 * a); 33 B = 1.0 * d * log(1.0 * c); 34 if(fabs(A - B) < 1e-10) printf("=\n"); 35 else if(A > B) printf(">\n"); 36 else printf("<\n"); 37 } 38 return 0; 39 }