#include<cstring> #include<string> #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #include <cstdlib> //BY cxj using namespace std; int n,m,k; int pan1(int i,int j) { if (i-j<0) return -1; if (i-j==0) return 0; if (i-j>0) return 1; } int pan2(int i,int j) { int now=i-j; if (now<0) now=-now; if (now>k) now=k; return now; } int qius(int i,int j) { return pan1(i,j)*pan2(i,j); } int a[1010]; int s; int bc[2010][50][50]; int dfs(int now) { if (now==n+1) { s++; for (int i=1;i<=n;i++) { for (int j=1;j<=n;j++) { int x=qius(a[i],a[j]); /*char y; while (x!=0) { int xy=x%10; y=xy+48; b[s]=b[s]+y; x=x/10; }*/ bc[s][i][j]=x; } } int biao=0; for (int i=1;i<s;i++) { int kk=0; for (int j=1;j<=n;j++) { for (int kkk=1;kkk<=n;kkk++) { if (bc[i][j][kkk]!=bc[s][j][kkk]) { kk=1; } } if (kk==1) break; if (j==n&&k==n) kk=2; } if (kk==2) break; if (kk==1) biao++; else break; } if (biao!=s-1) s--; return 0; } for (int i=0;i<=m;i++) { a[now]=i; dfs(now+1); } return 0; } int main() { cin>>n>>m>>k; dfs(1); cout<<s<<endl; return 0; }编译错误:您提交的代码无法完成编译
a.cpp:21:1: error: control may reach end of non-void function [-Werror,-Wreturn-type]
但我明明每个都有返回值~~
全部评论
(1) 回帖