ブルーブリッジカップブレスレットスタイル(暴力)
1040 ワード
ブレスレットスタイルの明ちゃんは赤サンゴ3個、白サンゴ4個、黄瑪瑙5個があります.彼はそれらをチェーンとしてつなぎ、彼女にあげたいと思っています.
今、明ちゃんは知りたいです.ブレスレットが自由に回転したり、反転したりすることを考えると、全部でどのくらいの組み合わせのスタイルがありますか.
分析:
暴力のテクニックとstringの運用
今、明ちゃんは知りたいです.ブレスレットが自由に回転したり、反転したりすることを考えると、全部でどのくらいの組み合わせのスタイルがありますか.
分析:
暴力のテクニックとstringの運用
#include
using namespace std;
typedef long long ll;
int rem[3] = {3, 4, 5};
set st;
int ans = 0;
void dfs(int num, string s)
{
if(num == 12)
{
for(set::iterator it = st.begin(); it != st.end(); it++)
{
if((*it).find(s, 0) != string::npos)
return ;
}
ans++;
st.insert(s+s);
s = s + s;
reverse(s.begin(), s.end());
st.insert(s);
return ;
}
for(int i = 0; i <= 2; i++)
{
int t = rem[i];
if(t >= 1)
{
rem[i]--;
string tmp = s;
dfs(num+1, tmp.append(1, (char)(i+'0')));
rem[i]++;
}
}
}
int main()
{
dfs(0, "");
cout << ans << endl;
return 0;
}