2017CUIT & FJUT & SWPU三校联合新生赛-决赛 D,E

来源:互联网 发布:淘宝平面模特怎么找 编辑:程序博客网 时间:2024/05/20 16:34

http://120.78.128.11/Contest.jsp?cid=367#P3

D.



#include <stdio.h>int main() {int t;scanf("%d", &t);for (int i = 0; i < t; i++) {int l;scanf("%d", &l);printf("%.4lf\n", 0.3151467436277* l * l);}return 0;}


E.

对于每一层来讲,如果前后两层相同,最后的ans一定是相同长度的排列组合,所以具体做法是如果前后两层不同,那么ans更新答案,如果前后两层相同,

记录相同的层数有多少(tmp),更新答案时就是A(tmp,tmp)

#include<stdio.h>const int mod=19260817;int a[300030];int p(int x){    long long ret=1;    for(int i=2; i<=x; i++)        ret=ret*i%mod;    return ret;}int main(){    int n;    while(~scanf("%d",&n))    {        for(int i=1; i<=n; i++)            scanf("%d",a+i);        int tim=1,pre=a[1];        long long ans=1;        for(int i=2; i<=n; i++)        {            if(a[i]==pre)                tim++;            else            {                ans=ans*p(tim)%mod;                tim=1;                pre=a[i];            }        }        ans=ans*p(tim)%mod;        printf("%d\n",(int)ans);    }    return 0;}



阅读全文
0 0
原创粉丝点击