uva 10014 - Simple calculations

尼玛,这题太搞了,已经推出公式了,还是不对,看了网上正确的代码也没发现自己错的地方,尼玛

这是网上的

uva 10014 - Simple calculations
 1 #include <stdio.h>
 2 #include <math.h>
 3 void main()
 4 {double c[3001],s[3001],x,y;
 5  int n,i,t;
 6  scanf("%d",&t);
 7  while (t--)
 8  {
 9  scanf("%d",&n);
10  scanf("%lf%lf",&x,&y);
11  for (i=1;i<=n;i++)
12  scanf("%lf",&c[i]);
13  s[1]=c[1]; s[0]=s[1];
14  for (i=2;i<=n;i++)
15  {s[i]=s[i-1]+c[i];
16   s[0]+=s[i];
17  }
18  printf("%.2lf\n",(n*x+y-2*s[0])/(n+1));
19  if (t) printf("\n");
20  }
21 }
uva 10014 - Simple calculations

这是我的,虽然丑了点,逻辑上好像没错

uva 10014 - Simple calculations
 1 #include<iostream>
 2 #include<stdio.h>
 3 using namespace std;
 4 double c[3001];
 5 int main(){
 6     int t;
 7     cin>>t;
 8     cin.ignore();
 9     double an,an1,a1;
10     while(t--){
11         a1=0;
12         int n;
13         cin>>n>>an>>an1;
14         if(n==0){
15             printf("%.2lf\n",an1);
16             if(t>0)
17                 cout<<endl;
18             continue;
19         }
20         cin>>c[1];
21         a1+=c[1];
22         for(int i=2;i<n+1;i++){
23             double temp;
24             cin>>temp;
25             c[i]+=c[i-1]+temp;
26             a1+=c[i];
27         }
28         a1=(an1+n*an-2*a1)/(n+1);
29         printf("%.2lf\n",a1);
30         if(t>0)
31             cout<<endl;
32     }
33 }
uva 10014 - Simple calculations

uva 10014 - Simple calculations

上一篇:JAVA中用CALENDAR类计算周和周的起始日期(转)


下一篇:行内元素及相关注意事项