最初的第一印象是和组合数一个性质的题目.所以用了回溯法,结果,你懂的... #include<stdio.h> #include<math.h> void dfs(int n,int d,int num[]); int k=0; int max=0; int main(){ while(scanf("%d",&k)!=EOF){ int num[57]={0}; num[1]=1; dfs(1,1,num); printf("%d\n"…
这题目是小学奥数题目,方法可以百度到,但是,有个难点就是,数据类型大小不够,如果是1000x1000的矩阵,那么就会超过int的范围,所以,就引进了long long的数据类型 #include<stdio.h> int main(){ long long n,m,max; while(scanf("%lld %lld",&n,&m)!=EOF){ n=(n+1)*n/2; m=(m+1)*m/2; max=n*m; printf("%lld\n&…
#include<stdio.h> struct AC { int x,y; }a[1000004]; int main() { int i,j,k=0;a[125].x=1,a[521].y=1; for(i=0; i<1000003; i++) { int c[3]={0}; if(i%10==5||i%100/10==5||i%1000/100==5||i%10000/1000==5||i%100000/10000==5||i%1000000/100000==5) c[2]=1;…
作为菜鸟一枚,对子串和的代码完全就是硬算 的..结果是TLE #include<stdio.h> int jh(int x,int y,int num[],int sum[]); int idea[1000][1000]={0}; int main() { int num[1001]; int sum[1001]; int n,m,k=0; int x,y,z; int max=0; scanf("%d",&n); while(n--){ scanf("%…
#include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf("%d %d",&n,&v); mv=v; pnum(n,v); return 0; } int pnum(int n,int v){ int i; if(v==0){ for(i=mv ;i>0;i--){ printf("%d",num[i]);…