zoukankan      html  css  js  c++  java
  • 国王游戏 & 保护花朵

    国王游戏:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 const int maxn=100007;
     7 const int maxm=200007;
     8 int a[maxn],b[maxn];
     9 int ans[maxm*10];
    10 int now,num,l=1;
    11 void multi(int x){
    12     for(int i=1;i<=l;i++) ans[i]*=a[x];//1~l 低位到高位 
    13     for(int i=1;i<=l;i++){
    14         ans[i+1]+=(ans[i]/10);
    15         ans[i]%=10;
    16     }
    17     l++;
    18     while(ans[l]>9)
    19     {
    20         ans[l+1]+=(ans[l]/10);
    21         ans[l]%=10;
    22         l++;
    23     }//if(ans[l+1]>0) l++;这样是错的,因为ans[l]可能很大 
    24 }
    25 void divis(int x){
    26     for(int i=l;i>=1;i--){
    27         ans[i-1]+=((ans[i]%b[x])*10);
    28         ans[i]/=b[x];
    29     }
    30     while(ans[l]==0) l--;
    31     if(l==0) cout<<1<<endl;
    32 }
    33 int main(){
    34     int n;cin>>n;
    35     cin>>a[0]>>b[0];
    36     for(int i=1;i<=n;i++){
    37         cin>>a[i]>>b[i]; 
    38     }
    39     int aa=0,bb=0;
    40     for(int i=1;i<=n;i++){
    41         if(a[i]*b[i]>aa){
    42             aa=a[i]*b[i];
    43             bb=i;
    44         }
    45     }
    46     l=1;
    47     ans[1]=a[0];
    48     for(int i=1;i<=n;i++)
    49         if(i!=bb) multi(i);
    50     divis(bb);
    51     for(int i=l;i>=1;i--) cout<<ans[i];
    52     cout<<endl;
    53     return 0;
    54 } 

     保护花朵:

    国王游戏的题解不好好看,到这就想不到用结构体......

    要开long long啊......

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm> 
     4 using namespace std;
     5 const int maxn=1e5+7;
     6 int n,tt;
     7 long long ans;
     8 struct Node{
     9     int t,d;
    10     double a;
    11 }node[maxn];
    12 bool cmp(Node x,Node y){
    13     return x.a<y.a;
    14 }
    15 int main(){
    16     cin>>n;
    17     for(int i=1;i<=n;i++){
    18         cin>>node[i].t>>node[i].d;
    19         node[i].t*=2;
    20         node[i].a=(double)node[i].t/node[i].d;
    21     }
    22     sort(node+1,node+n+1,cmp);
    23     for(int i=1;i<=n;i++){
    24         ans+=tt*node[i].d;
    25         tt+=node[i].t;
    26     }
    27     cout<<ans<<endl;
    28     return 0;
    29 }
  • 相关阅读:
    C#调用WebService实现天气预报
    火狐完整版下载地址
    Unity3D 中 2D_Toolkit插件下载 和 导入方法
    给大家分享个 网站头像上传的 插件
    JQuery工具方法,实例方法
    ireport5.6.0 win10打不开
    JFreeChart 零散
    JS 类继承 原型继承
    技术电子书下载网址
    正则 变量替换
  • 原文地址:https://www.cnblogs.com/lcan/p/9495275.html
Copyright © 2011-2022 走看看