[蓝桥杯2017初赛]纸牌三角形-枚举permutation+数论
生活随笔
收集整理的這篇文章主要介紹了
[蓝桥杯2017初赛]纸牌三角形-枚举permutation+数论
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
A,2,3,4,5,6,7,8,9 共9張紙牌排成一個正三角形(A按1計算)。要求每個邊的和相等。
下圖就是一種排法這樣的排法可能會有很多。
如果考慮旋轉、鏡像后相同的算同一種,一共有多少種不同的排法呢?
輸出
輸出一個整數表示答案
代碼如下:
#include <iostream> #include <algorithm> using namespace std;int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};bool check() {int r1 = a[0] + a[1] + a[2] + a[3];int r2 = a[6] + a[5] + a[4] + a[3];int r3 = a[0] + a[8] + a[7] + a[6];if (r1 == r2 && r1 == r3 && r2 == r3)return true;elsereturn false; }int main() {int ans = 0;do {if (check()) {ans++;}} while (next_permutation(a, a + 9));cout << ans / 3 / 2 << endl;//這里是ans/3/2,除以3是排除了旋轉,//除以2是排除了鏡像.//一定要仔細閱讀題意,去除旋轉和鏡像問題return 0; }總結
以上是生活随笔為你收集整理的[蓝桥杯2017初赛]纸牌三角形-枚举permutation+数论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消息称荣耀 Magic6 / OPPO
- 下一篇: 读取最高 7000 MB/s,十铨发布