Rumah > pangkalan data > tutorial mysql > zoj2027TravellingFee(最短路变形)

zoj2027TravellingFee(最短路变形)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-07 16:02:50
asal
1166 orang telah melayarinya

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(0denoting the number of different colors. Input is terminated by a line wherethe value ofn=0. This line shouldnot be processed.

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.

SampleInput Outputfor Sample Input

1

2

0

1

10


Problem setter: EricSchmidt

Special Thanks: DerekKisman, EPS

题意:求用n中颜色涂立方体的不同种数,能旋转到的算一种

题意:和上一题UVA - 10601 Cubes (组合+置换) 的立方体旋转考虑的分类是一样的,不过这里我们考虑的是涂面的情况

1.不变置换(1)(2)(3)(4)(5)(6), 共1个;

2.沿对面中心轴旋转 90度, 270度 (1)(2345)(6), (1)(5432)(6) 同类共 6个;

3.沿对面中心轴旋转 180度 (1)(24)(35)(6), 同类共 3个;

4.沿对角线轴旋转 120度, 240度 (152)(346), (251)(643) 同类共 8个;

5.沿对边中点轴旋转 180度 (16)(25)(43) 同类共 6个;

<strong>[cpp]</strong> view plaincopy
Salin selepas log masuk
在CODE上查看代码片派生到我的代码片
  1. #include <iostream></iostream>
    Salin selepas log masuk
  2. #include <cstdio></cstdio>
    Salin selepas log masuk
  3. #include <cstring></cstring>
    Salin selepas log masuk
  4. #include <cmath></cmath>
    Salin selepas log masuk
  5. #include <algorithm></algorithm>
    Salin selepas log masuk
  6. typedef long long ll;
    Salin selepas log masuk
  7. using namespace std;
    Salin selepas log masuk
  8. ll n;
    Salin selepas log masuk
  9. ll still() {
    Salin selepas log masuk
  10. return n * n * n * n * n * n;
    Salin selepas log masuk
  11. }
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
  12. ll point() {
    Salin selepas log masuk
  13. return 4 * 2 * n * n;
    Salin selepas log masuk
  14. }
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
  15. ll edge() {
    Salin selepas log masuk
  16. return 6 * n * n * n;
    Salin selepas log masuk
  17. }
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
  18. ll plane() {
    Salin selepas log masuk
  19. return 3 * 2 * n * n * n + 3 * n * n * n * n;
    Salin selepas log masuk
  20. }
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
  21. ll polya() {
    Salin selepas log masuk
  22. ll ans = 0;
    Salin selepas log masuk
  23. ans += still();
    Salin selepas log masuk
  24. ans += point();
    Salin selepas log masuk
  25. ans += edge();
    Salin selepas log masuk
  26. ans += plane();
    Salin selepas log masuk
  27. return ans / 24;
    Salin selepas log masuk
  28. }
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
  29. int main() {
    Salin selepas log masuk
  30. while (scanf("%lld", &n) != EOF && n) {
    Salin selepas log masuk
  31. printf("%lld\n", polya());
    Salin selepas log masuk
  32. }
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
  33. return 0;
    Salin selepas log masuk
  34. }
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan