Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

谁能告诉我这代码为啥WA,自己感觉一点问题也没啊。。

Posted by taozifish at 2011-06-16 11:59:47 on Problem 1244
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const double T=sqrt(3.0);
const double EP=1e-8;
struct Point{double x, y;};
struct Pointset{Point p[100]; int sum;}s[27];
int n, flag[27];
char c[100];
void init(){
    int i, j, k=0, t;
    for(i=0; i<26; i++)
        s[i].sum=0;
    memset(flag, 0, sizeof(flag));
    for(i=1; i<=n; i++)
        for(j=1; j<=i; j++){
            t=c[k++]-'a';
            s[t].p[s[t].sum].x=2*j-i-1.0;
            s[t].p[s[t].sum].y=i*T;
            s[t].sum++;
        }
}
double dist(Point p1, Point p2){
    return (p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y);
}
int main(){
    //freopen("1.txt", "r", stdin);
    int f, i, j, l, k, t;
    while(scanf("%d", &n)&&n){
        f=0;
        scanf("%s", c);
        init();
        for(i=0; i<26; i++){
            t=s[i].sum;
            for(j=0; j<t-2; j++){if(flag[i])break;
            for(k=j+1; k<t-1; k++){if(flag[i])break;
            for(l=k+1; l<t; l++){
            if(fabs(dist(s[i].p[j],s[i].p[k])-dist(s[i].p[j],s[i].p[l]))<EP&&
               fabs(dist(s[i].p[j],s[i].p[k])-dist(s[i].p[k],s[i].p[l]))<EP){
                flag[i]=1;f=1;break;
            }}
            }
            }
        }
        if(!f){printf("LOOOOOOOOSER!\n");break;}
        for(i=0; i<26; i++)
            if(flag[i])
            printf("%c", 'a'+i);
        printf("\n");
    }
    return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator