bnu_29066 排序网络

来源:互联网 发布:notepad mac 破解版 编辑:程序博客网 时间:2024/06/16 07:50

原题链接:http://acm.bnu.edu.cn/v3/problem_show.php?pid=29066

分析:

          题目说了一堆......然后自己蒙了。其实仔细想想网络排序就是让两个数两两比较。再想想不是就冒泡排序嚒-,-

         需要的比较器数就是冒泡排序时比较的次数,比较器比较的两个数的下标就是冒泡排序时比较两个数的下标。

      注意题目说了“这样的排序网络存在多种,给出任意一个即可。”,所以冒泡排序的顺序输出就好了。

我的代码:

#include<stdio.h>int main(){    int n;    while(~scanf("%d",&n))    {        int tot=n*(n-1)>>1;        printf("%d\n",tot);        for(int i=1;i<=n-1;i++)            for(int j=i+1;j<=n;j++) printf("%d %d\n",i,j);    }    return 0;}

总结:自己开始写的时候没有想到呀o(︶︿︶)o。


原创粉丝点击