Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- int x,y,z,h;
- int arr[60466177];
- //x y z
- void Leer(){
- string s;
- cin>>s;
- int i=0;
- while (s[i]!='d')
- i++;
- x=0;
- for (int j=0;j<i;j++)
- x=x*10+(s[j]-'0');
- int len=s.size(),ant=i+1,sign=1;
- while ((i<len) && (s[i]!='+')&&(s[i]!='-'))
- i++;
- y=0;
- for (int j=ant;j<i;j++)
- y=y*10+(s[j]-'0');
- z=0;
- if (i==len){
- //cout<<x<<' '<<y<<' '<<z<<endl;
- return;}
- ant=i+1;
- if (s[i]=='-')
- sign=-1;
- for (int j=ant;j<len;j++)
- z=z*10+(s[j]-'0');
- z=z*sign;
- //cout<<x<<' '<<y<<' '<<z<<endl;
- }
- int Procesar(int l,int ini){
- if (l==1){
- for (int i=ini;i<=(ini+y-1);i++)
- arr[i]++;
- if (ini>=h)
- return y;
- if ((ini+y-1)<h)
- return 0;
- return (ini+y-h);
- }
- int r=0;
- for (int i=0;i<y;i++)
- r+=Procesar(l-1,ini+i);
- return r;
- }
- int main() {
- int t,s,ans;
- double max;
- cin>>t;
- for (int i=1;i<=t;i++){
- cin>>h>>s;
- max=0;
- for (int j=0;j<s;j++){
- Leer();
- ans=Procesar(x,x+z);
- //printf("%d %.0f\n",ans,pow(y,x));
- if (((double)ans/(double)pow(y,x))>max)
- max=(double)ans/(double)pow(y,x);
- }
- printf("Case #%d: %.6f\n",i,max);
- for (int j=3;j<13;j++)
- printf("arr[%d]: %d\n",j,arr[j]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment