zoukankan      html  css  js  c++  java
  • 2017浙江工业大学-校赛决赛 竹之书

    Description

    由于某些原因菲莉丝拿到了贤者之石,所以好像变得很厉害了
    好像变得很厉害的菲莉丝想要炼成幻想乡,其中有一个原料是稗田一族对幻想乡历史的记录。现在菲莉丝拿到了一个被某只魔粘性精神体加密过的的卷轴。
    密文通过原文和一个正整数key加密形成,而key和密文又有一定关联。
    现给出密文,求key值

    已知密文s和key值关系如下
    已知密文s是一串正整数s1,s2,s3……sn,A为s中所有元素的和,B为s中所有元素的积,key为B mod A

    数据范围
    si,A在(0,1e17]范围内
    0<n<=100000

    Input

    第一行T表示数据组数
    接下来每组第一行一个n,代表s的长度
    接下来n行,每行一个正整数si

    Output

    每组一行,key值

    Sample Input

    2
    4
    1
    2
    3
    4
    6
    5
    6
    7
    8
    9
    9

    Sample Output

    4
    32
    解法:按照题意来,你会发现居然能过
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int t;
     4 unsigned long long Mod(unsigned long long x,unsigned long long a,unsigned long long mod){
     5     unsigned long long ans=0;
     6     ans%=mod;
     7     while(a){
     8         if(a&1){
     9             ans=(ans+x)%mod;
    10         }
    11         ans%=mod;
    12         a>>=1;
    13         x=(x<<1)%mod;
    14     }
    15     return ans;
    16 }
    17 unsigned long long a[123456];
    18 int main(){
    19     scanf("%d",&t);
    20     while(t--){
    21         unsigned long long sum=0;
    22         int n;
    23         scanf("%d",&n);
    24         for(int i=1;i<=n;i++){
    25             scanf("%llud",&a[i]);
    26             sum+=a[i];
    27         }
    28         unsigned long long ans=1;
    29         for(int i=1;i<=n;i++){
    30             ans=Mod(ans,a[i],sum);
    31             ans%=sum;
    32         }
    33         cout<<ans<<endl;
    34     }
    35     return 0;
    36 }
  • 相关阅读:
    tensorflow 学习笔记 多层感知机
    tensorflow 学习笔记(转)
    python学习笔记 map&&reduce
    java中的接口和php的接口的区别
    php中的内存划分
    workerman stop失败
    Java中的内存划分
    php和java语法区别
    Docker:Swarm + Stack 一站式部署容器集群
    docker 配置私有仓库
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/7358788.html
Copyright © 2011-2022 走看看