发布于2018年9月5日 由itewqq[贪心][精度][排序] UVa1612 Guess 简单题。 wa的是自己搞错了不同情况的顺序。。。贴在这里警告自己吧 #include #include #include #include #include #include #include #include #include #include #include #define eps 1e-6 //#include using namespace std; typedef long long LL; typedef unsigned long long ULL; const int maxn=1e6+5; const int MOD=1e9+7; const int INF=0x3f3f3f3f; double t1,t2,t3,pre,cur; double vec[16390][10]; int main() { //freopen("1.txt","r",stdin); //freopen("2.txt","w",stdout); int n,pr,nxt,cnt=0; while(~scanf("%d",&n)&&n) { cnt++; pre=cur=0.0; for (int i=1; i<=n; i++) { scanf("%lf%lf%lf",&t1,&t2,&t3); vec[i][0]=0; vec[i][1]=t1; vec[i][2]=t2; vec[i][3]=t3; vec[i][4]=t1+t2; vec[i][5]=t1+t3; vec[i][6]=t2+t3; vec[i][7]=t1+t2+t3; sort(vec[i],vec[i]+8); } scanf("%d",&nxt); pre=vec[nxt][7]; pr=nxt; int flag=1; for (int i=2; i<=n; i++) { scanf("%d",&nxt); if(flag) { int k; for (k=7;k>=0;k--) { if(vec[nxt][k]pr&&abs(vec[nxt][k]-pre)