2018/09/07阿里问答题一(衣服颜色问题)
程序员文章站
2022-04-21 20:06:56
...
原题:
#include<iostream>
#include<string>
#include <cstdio>
using namespace std;
int drawColor(int c1, int c2, int c3, int last)
{
//cout << c1 << c2 << c3<<endl;
if (c1 < 0 || c2 < 0 || c3 < 0)
return 0;
if (c1 == 0 && c2 == 0 && c3 == 0)
return 1;
if (last==0)
return drawColor(c1 - 1, c2, c3, 1)+drawColor(c1, c2 - 1, c3, 2) + drawColor(c1, c2, c3 - 1, 3);
if (last == 1)
return drawColor(c1, c2 - 1, c3, 2) + drawColor(c1, c2, c3 - 1, 3);
if (last == 2)
return drawColor(c1-1, c2 , c3, 1) + drawColor(c1, c2, c3 - 1, 3);
if (last == 3)
return drawColor(c1, c2-1 , c3, 2) + drawColor(c1-1, c2, c3 , 1);
}
int main()
{
string sin, s;
int color1, color2, color3;
getline(cin, sin, ',');
color1=stoi(sin);
getline(cin, sin, ',');
color2 = stoi(sin);
getline(cin, sin);
color3 = stoi(sin);
cout << drawColor(color1, color2, color3, 0)<<endl;
system("pause");
return 0;
}
上一篇: GAMS系列分享6-电力系统最优潮流-3节点最优潮流
下一篇: stormliv.exe是什么进程