All 6 sides of a cube are to becoated with paint. Each side is is coated uniformly with one color. When a selectionof n different colors of paint is available, how many different cubes can youmake? Note that any two cubes are onlyto be cal
All 6 sides of a cube are to becoated with paint. Each side is is coated uniformly with one color. When a selectionof n different colors of paint is available, how many different cubes can youmake?
Note that any two cubes are onlyto be called "different" if it is not possible to rotate the one intosuch a position that it appears with the same coloring as the other.
Input
Each line of the input filecontains a single integer n(0 Output For each line of input produce oneline of output. This line should contain the number of different cubes that canbe made by using the according number of colors. 1 2 0 1 10 Problem setter: EricSchmidt Special Thanks: DerekKisman, EPS 題意:求用n中顏色涂立方體的不同種數(shù),能旋轉(zhuǎn)到的算一種 題意:和上一題UVA - 10601 Cubes (組合+置換) 的立方體旋轉(zhuǎn)考慮的分類是一樣的,不過這里我們考慮的是涂面的情況 1.不變置換(1)(2)(3)(4)(5)(6), 共1個(gè); 2.沿對(duì)面中心軸旋轉(zhuǎn) 90度, 270度 (1)(2345)(6), (1)(5432)(6) 同類共 6個(gè); 3.沿對(duì)面中心軸旋轉(zhuǎn) 180度 (1)(24)(35)(6), 同類共 3個(gè); 4.沿對(duì)角線軸旋轉(zhuǎn) 120度, 240度 (152)(346), (251)(643) 同類共 8個(gè); 5.沿對(duì)邊中點(diǎn)軸旋轉(zhuǎn) 180度 (16)(25)(43) 同類共 6個(gè);SampleInput Outputfor Sample Input
[cpp] view plaincopy
#include
#include
#include
#include
#include
typedef long long ll;
using namespace std;
ll n;
ll still() {
return n * n * n * n * n * n;
}
ll point() {
return 4 * 2 * n * n;
}
ll edge() {
return 6 * n * n * n;
}
ll plane() {
return 3 * 2 * n * n * n + 3 * n * n * n * n;
}
ll polya() {
ll ans = 0;
ans += still();
ans += point();
ans += edge();
ans += plane();
return ans / 24;
}
int main() {
while (scanf("%lld", &n) != EOF && n) {
printf("%lld\n", polya());
}
return 0;
}
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com