程序书海码农的世界

蓝杯二十九

2018-01-25  本文已影响17人  逍遥_9353

算法训练 关联矩阵 

时间限制:1.0s  内存限制:512.0MB

提交此题   

问题描述

  有一个n个结点m条边的有向图,请输出他的关联矩阵。

输入格式

  第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。

  接下来m行,每行两个整数a、b,表示图中有(a,b)边。

  注意图中可能含有重边,但不会有自环。

输出格式

  输出该图的关联矩阵,注意请勿改变边和结点的顺序。

样例输入

5 9

1 2

3 1

1 5

2 5

2 3

2 3

3 2

4 3

5 4

样例输出

1 -1 1 0 0 0 0 0 0

-1 0 0 1 1 1 -1 0 0

0 1 0 0 -1 -1 1 -1 0

0 0 0 0 0 0 0 1 -1

0 0 -1 -1 0 0 0 0 1

#include<cstdio> 

#include<cstdlib> 

#include<cstring> 

using namespace std; 

int map[110][1010]; 

int main() 

    int a,b,m,n,i,j; 

    while(scanf("%d%d",&n,&m)==2) 

    { 

        memset(map,0,sizeof(map)); 

        for(i=1;i<=m;++i) 

        { 

            scanf("%d%d",&a,&b); 

            map[a][i]=1; 

            map[b][i]=-1; 

        } 

  for(i=1;i<=n;++i) 

        { 

            printf("%d",map[i][1]); 

            for(j=2;j<=m;++j) 

            { 

                printf(" %d",map[i][j]); 

            } 

            printf("\n"); 

        } 

    } 

    return 0; 

  算法训练 Torry的困惑(基本型) 

时间限制:1.0s  内存限制:512.0MB

提交此题   

问题描述

  Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。

输入格式

  仅包含一个正整数n,其中n<=100000。

输出格式

  输出一行,即前n个质数的乘积模50000的值。

样例输入

1

样例输出

2

#include<stdio.h> 

int main() 

    long n,i,j,s=1,c=0; 

    scanf("%ld",&n); 

    for (i=2;i<=100000;i++) 

    { 

        for (j=2;j<=i;j++) 

        { 

            if (i%j==0) 

              break; 

        } 

        if (i==j) 

        { 

          s=s*i%50000; 

          ++c; 

          if (c>=n) 

          break; 

        } 

    } 

    printf("%ld",s); 

    return 0; 

蓝杯二十九

蓝杯二十九 蓝杯二十九 蓝杯二十九 蓝杯二十九
上一篇 下一篇

猜你喜欢

热点阅读