首页 > 其他 > 详细

【AOJ-614】座位安排

时间:2014-01-14 19:34:47      阅读:445      评论:0      收藏:0      [点我收藏+]
Description
宣讲会上有连续编号为1...N的N个座位,每个座位只能坐一个人,有N个人,学校有M个不同专业,如果相邻座位的同学的专业相同,就会发生悄悄话现象,求有多少种情况可能发生悄悄话现象。(不一定每个专业都有人来)

 

Input
输入包括多组数据,以文件(EOF)结束。
每组测试数据两个整数N(1<=N<=9),M(1<=M<=9)。

 

Output
每组测试数据输出一个整数,表示符合题目的可能的情况数。

 

Sample Input
3 3

 
Sample Output
Original Transformed
15

思路:
排列组合问题,总排法n^m种 减去两两不同的情况即 n^m-m*((m-1)^(n-1))

参考代码:
#include <stdio.h>
int pow(int n,int m)//求n^m
{
    int sum=1;
    int i;
    for(i=0;i<n;i++)
        sum*=m;
    return sum;
}
int main()
{
    int n,m;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        int sum=m,i,sum1;
        for(i=0;i<n-1;i++)
            sum*=(m-1);
        sum1=pow(n,m);
        printf("%d\n",sum1-sum);
    }
    return 0;
}

 

 

【AOJ-614】座位安排

原文:http://www.cnblogs.com/ahu-shu/p/3512488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!