Submission #3592154


Source Code Expand

//set many funcs template
//Ver.20180717
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stdbool.h>
#include<time.h>
#define inf 1072114514
#define llinf 4154118101919364364
#define mod 1000000007
#define pi 3.1415926535897932384

int max(int a,int b){if(a>b){return a;}return b;}
int min(int a,int b){if(a<b){return a;}return b;}
int zt(int a,int b){return max(a,b)-min(a,b);}
int round(int a,int b){if((a%b)*2 >= b){return (a/b)+1;}return a/b;}
int ceil(int a,int b){if(a%b==0){return a/b;}return (a/b)+1;}
int gcd(int a,int b){int c;while(b!=0){c=a%b;a=b;b=c;}return a;}
int lcm(int a,int b){int c=gcd(a,b);a/=c;return a*b;}
int nCr(int a,int b){int i,r=1;for(i=1;i<=b;i++){r*=(a+1-i);r/=i;}return r;}
int nHr(int a,int b){return nCr(a+b-1,b);}
int fact(int a){int i,r=1;for(i=1;i<=a;i++){r*=i;}return r;}
int pow(int a,int b){int i,r=1;for(i=1;i<=b;i++){r*=a;}return r;}
int dsum(int x){int r=0;while(x){r+=(x%10);x/=10;}return r;}
int dsumb(int x,int b){int r=0;while(x){r+=(x%b);x/=b;}return r;}
int sankaku(int x){return ((1+x)*x)/2;}
long long llmax(long long a,long long b){if(a>b){return a;}return b;}
long long llmin(long long a,long long b){if(a<b){return a;}return b;}
long long llzt(long long a,long long b){return llmax(a,b)-llmin(a,b);}
long long llround(long long a,long long b){if((a%b)*2 >= b){return (a/b)+1;}return a/b;}
long long llceil(long long a,long long b){if(a%b==0){return a/b;}return (a/b)+1;}
long long llgcd(long long a,long long b){long long c;while(b!=0){c=a%b;a=b;b=c;}return a;}
long long lllcm(long long a,long long b){long long c=llgcd(a,b);a/=c;return a*b;}
long long llnCr(long long a,long long b){long long i,r=1;for(i=1;i<=b;i++){r*=(a+1-i);r/=i;}return r;}
long long llnHr(long long a,long long b){return llnCr(a+b-1,b);}
long long llfact(long long a){long long i,r=1;for(i=1;i<=a;i++){r*=i;}return r;}
long long llpow(long long a,long long b){long long i,r=1;for(i=1;i<=b;i++){r*=a;}return r;}
long long lldsum(long long x){long long r=0;while(x){r+=(x%10);x/=10;}return r;}
long long lldsumb(long long x,long long b){long long r=0;while(x){r+=(x%b);x/=b;}return r;}
long long llsankaku(long long x){return ((1+x)*x)/2;}
double dbmax(double a,double b){if(a>b){return a;}return b;}
double dbmin(double a,double b){if(a<b){return a;}return b;}
double dbzt(double a,double b){return dbmax(a,b)-dbmin(a,b);}
int sortfncsj(const void *a,const void *b){if(*(int *)a>*(int *)b){return 1;}if(*(int *)a==*(int *)b){return 0;}return -1;}
int sortfnckj(const void *a,const void *b){if(*(int *)a<*(int *)b){return 1;}if(*(int *)a==*(int *)b){return 0;}return -1;}
int llsortfncsj(const void *a,const void *b){if(*(long long *)a>*(long long *)b){return 1;}if(*(long long *)a==*(long long *)b){return 0;}return -1;}
int llsortfnckj(const void *a,const void *b){if(*(long long *)a<*(long long *)b){return 1;}if(*(long long *)a==*(long long *)b){return 0;}return -1;}
int dbsortfncsj(const void *a,const void *b){if(*(double *)a>*(double *)b){return 1;}if(*(double *)a==*(double *)b){return 0;}return -1;}
int dbsortfnckj(const void *a,const void *b){if(*(double *)a<*(double *)b){return 1;}if(*(double *)a==*(double *)b){return 0;}return -1;}
int strsortfncsj(const void *a,const void *b){return strcmp((char *)a,(char *)b);}
int strsortfnckj(const void *a,const void *b){return strcmp((char *)b,(char *)a);}

void shuffledget(int x[],int n){
    srand(time(0));
    int i,b[524288],p,c;
    for(i=0;i<n;i++){
        b[i]=i;
    }
    for(i=n;i>=1;i--){
        p=rand()%i;
        c=b[i-1];b[i-1]=b[p];b[p]=c;
    }
    for(i=0;i<n;i++){
        scanf("%d",&x[b[i]]);
    }
}

int dx4[4]={1,-1,0,0};
int dy4[4]={0,0,1,-1};
int dx8[8]={-1,-1,-1,0,0,1,1,1};
int dy8[8]={-1,0,1,-1,1,-1,0,1};

int search(int x,int a[],int n){
    int st=0,fi=n-1,te;
    while(st<=fi){
        te=(st+fi)/2;
        if(a[te]<x){st=te+1;}else{fi=te-1;}
    }
    return st;
}

typedef struct{
int val;
int node;
}sd;

int sdsortfnc(const void *a,const void *b){
if(((sd*)a)->val < ((sd*)b)->val){return -1;}
if(((sd*)a)->val > ((sd*)b)->val){return 1;}
return 0;
}

int main(void){
    long long i,j,n,m,k,a[65536],b,c,h,w,r=0,l,t;
    long long dp[16][65536]={0};
    double d;
    char s[524288];
    scanf("%lld%lld",&n,&m);
    dp[0][0]=1;
    c=0;
    for(i=0;i<(1<<m);i++){
        w=1;
        for(j=0;j<(m-1);j++){
            if((i&(1<<j))!=0 && (i&(1<<(j+1)))!=0){w=0;break;}
        }
        if(w){
            //printf("<%lld>\n",i);
            a[c]=i;c++;
        }
    }
    for(i=1;i<=n;i++){
        for(j=0;j<c;j++){
            for(k=0;k<c;k++){
                if(((a[j]<<1)&a[k])==0 && (a[j]&a[k])==0 && ((a[j]>>1)&a[k])==0){
                    dp[i][a[k]]+=dp[i-1][a[j]];
                    dp[i][a[k]]%=mod;
                }
            }
        }
        //for(j=0;j<(1<<m);j++){printf("%lld ",dp[i][j]);}printf("\n");
    }
    for(i=0;i<c;i++){r+=dp[n][a[i]];r%=mod;}
    printf("%lld\n",(r+mod-1)%mod);
    return 0;
}

Submission Info

Submission Time
Task A - 天下一有無
User physics0523
Language C (GCC 5.4.1)
Score 40
Code Size 5104 Byte
Status AC
Exec Time 39 ms
Memory 8832 KB

Compile Error

./Main.c:16:5: warning: conflicting types for built-in function ‘round’
 int round(int a,int b){if((a%b)*2 >= b){return (a/b)+1;}return a/b;}
     ^
./Main.c:17:5: warning: conflicting types for built-in function ‘ceil’
 int ceil(int a,int b){if(a%b==0){return a/b;}return (a/b)+1;}
     ^
./Main.c:23:5: warning: conflicting types for built-in function ‘pow’
 int pow(int a,int b){int i,r=1;for(i=1;i<=b;i++){r*=a;}return r;}
     ^
./Main.c:30:11: warning: conflicting types for built-in function ‘llround’
 long long llround(long long a,long long b){if((a%b)*2 >= b){return (a/b)+1;}return a/b;}
           ^
./Main.c: In function ‘shuffledget’:
./Main.c:64:9: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&x[b[i]]);
         ^
./Main.c: In function ‘main’:
./Main.c:98:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld%lld",&n,&m);
     ^

Judge Result

Set Name All
Score / Max Score 40 / 40
Status
AC × 120
Set Name Test Cases
All case0, case1, case10, case100, case101, case102, case103, case104, case105, case106, case107, case108, case109, case11, case110, case111, case112, case113, case114, case115, case116, case117, case118, case119, case12, case13, case14, case15, case16, case17, case18, case19, case2, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case3, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case4, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case5, case50, case51, case52, case53, case54, case55, case56, case57, case58, case59, case6, case60, case61, case62, case63, case64, case65, case66, case67, case68, case69, case7, case70, case71, case72, case73, case74, case75, case76, case77, case78, case79, case8, case80, case81, case82, case83, case84, case85, case86, case87, case88, case89, case9, case90, case91, case92, case93, case94, case95, case96, case97, case98, case99
Case Name Status Exec Time Memory
case0 AC 3 ms 8320 KB
case1 AC 3 ms 8320 KB
case10 AC 3 ms 8320 KB
case100 AC 3 ms 8448 KB
case101 AC 3 ms 8320 KB
case102 AC 7 ms 8320 KB
case103 AC 3 ms 8320 KB
case104 AC 27 ms 8320 KB
case105 AC 4 ms 8320 KB
case106 AC 5 ms 8832 KB
case107 AC 7 ms 8320 KB
case108 AC 14 ms 8320 KB
case109 AC 29 ms 8320 KB
case11 AC 3 ms 8320 KB
case110 AC 5 ms 8320 KB
case111 AC 8 ms 8320 KB
case112 AC 15 ms 8320 KB
case113 AC 6 ms 8320 KB
case114 AC 8 ms 8320 KB
case115 AC 9 ms 8320 KB
case116 AC 34 ms 8320 KB
case117 AC 17 ms 8320 KB
case118 AC 36 ms 8448 KB
case119 AC 39 ms 8320 KB
case12 AC 4 ms 8320 KB
case13 AC 3 ms 8320 KB
case14 AC 6 ms 8320 KB
case15 AC 3 ms 8320 KB
case16 AC 3 ms 8320 KB
case17 AC 3 ms 8320 KB
case18 AC 3 ms 8832 KB
case19 AC 3 ms 8320 KB
case2 AC 3 ms 8320 KB
case20 AC 3 ms 8320 KB
case21 AC 3 ms 8576 KB
case22 AC 3 ms 8320 KB
case23 AC 3 ms 8320 KB
case24 AC 3 ms 8320 KB
case25 AC 3 ms 8320 KB
case26 AC 3 ms 8832 KB
case27 AC 5 ms 8320 KB
case28 AC 8 ms 8320 KB
case29 AC 3 ms 8320 KB
case3 AC 3 ms 8704 KB
case30 AC 3 ms 8320 KB
case31 AC 3 ms 8320 KB
case32 AC 3 ms 8320 KB
case33 AC 3 ms 8320 KB
case34 AC 3 ms 8320 KB
case35 AC 3 ms 8320 KB
case36 AC 3 ms 8320 KB
case37 AC 3 ms 8320 KB
case38 AC 4 ms 8320 KB
case39 AC 3 ms 8576 KB
case4 AC 3 ms 8320 KB
case40 AC 6 ms 8320 KB
case41 AC 3 ms 8320 KB
case42 AC 3 ms 8320 KB
case43 AC 3 ms 8704 KB
case44 AC 3 ms 8320 KB
case45 AC 3 ms 8320 KB
case46 AC 3 ms 8320 KB
case47 AC 3 ms 8320 KB
case48 AC 3 ms 8448 KB
case49 AC 3 ms 8320 KB
case5 AC 3 ms 8320 KB
case50 AC 4 ms 8448 KB
case51 AC 5 ms 8320 KB
case52 AC 3 ms 8320 KB
case53 AC 13 ms 8320 KB
case54 AC 3 ms 8320 KB
case55 AC 3 ms 8320 KB
case56 AC 3 ms 8320 KB
case57 AC 3 ms 8320 KB
case58 AC 3 ms 8320 KB
case59 AC 3 ms 8320 KB
case6 AC 3 ms 8320 KB
case60 AC 3 ms 8320 KB
case61 AC 3 ms 8704 KB
case62 AC 3 ms 8320 KB
case63 AC 3 ms 8320 KB
case64 AC 3 ms 8320 KB
case65 AC 3 ms 8320 KB
case66 AC 3 ms 8320 KB
case67 AC 3 ms 8320 KB
case68 AC 3 ms 8320 KB
case69 AC 3 ms 8320 KB
case7 AC 3 ms 8576 KB
case70 AC 4 ms 8320 KB
case71 AC 3 ms 8448 KB
case72 AC 3 ms 8320 KB
case73 AC 3 ms 8704 KB
case74 AC 18 ms 8320 KB
case75 AC 3 ms 8320 KB
case76 AC 3 ms 8448 KB
case77 AC 3 ms 8320 KB
case78 AC 3 ms 8320 KB
case79 AC 3 ms 8320 KB
case8 AC 3 ms 8704 KB
case80 AC 3 ms 8448 KB
case81 AC 6 ms 8320 KB
case82 AC 10 ms 8320 KB
case83 AC 3 ms 8320 KB
case84 AC 3 ms 8320 KB
case85 AC 3 ms 8320 KB
case86 AC 3 ms 8320 KB
case87 AC 3 ms 8448 KB
case88 AC 4 ms 8320 KB
case89 AC 6 ms 8832 KB
case9 AC 3 ms 8448 KB
case90 AC 11 ms 8832 KB
case91 AC 3 ms 8320 KB
case92 AC 3 ms 8576 KB
case93 AC 3 ms 8320 KB
case94 AC 4 ms 8320 KB
case95 AC 5 ms 8320 KB
case96 AC 6 ms 8576 KB
case97 AC 12 ms 8320 KB
case98 AC 25 ms 8320 KB
case99 AC 3 ms 8320 KB