2976693_ac_0ms_148k.c
来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 42 行
C
42 行
#include <stdio.h>
int dis[20002];
int over;
int n;
void find(int st,int m,int s,int t)
{
int i;
if(over)
return ;
if(s==t)
{
over = 1;
printf("%d\n",m);
return ;
}
for(i = st; !over&&i<n&&s+dis[i]<=t; i++)
{
find(st+1,m*dis[i],s+dis[i],t);
}
}
int main()
{
int i;
while(scanf("%d",&n)==1)
{
for(i = 0; i < n; i++)
scanf("%d",&dis[i]);
if(dis[n-1]==dis[n-2])
{
puts("No solution");
continue;
}
over = 0;
find(0,1,0,dis[n-1]);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?