CSU 1240

1240: 低调,低调。

Time Limit: 2 Sec  Memory Limit: 1 MB
Submit: 146  Solved: 25
[Submit][Status][Web Board]

Description

Staginner总是喜欢把自已的名字写在他出的题目里。CSU-ACM协会的会长想,这孩子是不是想出名想疯了,于是决定考一考他。

任意正整数N,不大于N且与N互质的正整数个数记为P,现在给一列与N互质的正整数,只知道一些数各出现P次,而有两个数各只出现了1次,求这两个数。

会长对Staginner说,你要是解出了这个题,这道题也加上你的名字。

Staginner要求道,很多数啊,那你得跟我说两遍。

打赌的结果大家已经看到了,那么你能不能解决这个问题呢?

Input

多组数据, 每组数据两行,第一行为两个正整数N、K,2 < N < 2^11,1 < K < 2^18

第二行K个正整数X,1 < X < 2^30,第三行重复这K个数

Output

输出只出现一次的两个数,小的在前,一个空格隔开。

Sample Input

8 6
5 5 5 5 3 7
5 5 3 5 5 7
7 14
1 1 1 1 1 1 9 6 3 3 3 3 3 3
1 1 9 1 1 1 1 6 3 3 3 3 3 3

Sample Output

3 7
6 9

HINT

Source

CSU Monthly 2012 Feb.

大水题

看了以后以为要用euler函数

再看一遍你TM在逗我

直接判断哪个出现了一次好了

以为直接写就能过的

结果首先CE,一看好像这个单词time拿来命名会被OJ误判

然后MLE,把cout,cin改成scanf,printf好了

注意scanf用法 scanf(format,&a,...);

#include <stdio.h>
#include <cmath>
using namespace std;
const int maxm = 1024;
int prime[maxm];
int times[maxm];
int temp,num;
int len;

void init()
{
    len = 0;
    for(int i =0;i<maxm;i++)
    {
        prime[i]=0;
        times[i]=0;
    }
}

bool exist(int n)
{
    for(int i =0;i<len;i++)
    {
        if(prime[i]==n)
            return true;
    }
    return false;
}
int main()
{
    int N,K;
    while(scanf("%d%d",&N,&K) != EOF)
    {
        init();
        for(int i =0;i<K;i++)
        {
            scanf("%d",&num);
            if(exist(num)==false)
            {
                prime[len]=num;
                len++;
            }
        }
        for(int i =0;i<K;i++)
        {
            scanf("%d",&temp);
            for(int i =0;i<K;i++)
            {
                if(temp==prime[i])
                {
                    times[i]++;
                    break;
                }
            }
        }
        int a[2];
        int j = 0;
        for(int i =0;i<len;i++)
        {
            if(times[i]==1)
            {
                a[j]=prime[i];
                j++;
            }
            if(j==2)
                break;
        }
        int x = a[0]<a[1]?a[0]:a[1];
        int y = a[0]+a[1]-x;
        printf("%d %d\n",x,y);
    }
    return 0;
}

CSU 1240

时间: 2024-10-06 11:53:12

CSU 1240的相关文章

CSU 1804: 有向无环图(拓扑排序)

http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1804 题意:…… 思路:对于某条路径,在遍历到某个点的时候,之前遍历过的点都可以到达它,因此在这个时候对答案的贡献就是∑(a1 + a2 + a3 + ... + ai) * bv,其中a是之前遍历到的点,v是当前遍历的点. 这样想之后就很简单了.类似于前缀和,每次遍历到一个v点,就把a[u]加给a[v],然后像平时的拓扑排序做就行了. 1 #include <bits/stdc++.h>

CSU 1111: 三家人【有趣的思维题】

1111: 三家人 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 2241  Solved: 874 [Submit][Status][Web Board] Description 有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园.A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕.C 太太因为正身怀六甲无法加入她们的行列,便出了90元.请问这笔钱如何分给A.B 二位太太较为恰当?A 应得多少元?90/(5+4)*5=$50

CSU 1112: 机器人的指令【模拟题】

1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1858  Solved: 682 [Submit][Status][Web Board] Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的动作.输入保证i 是一个正整数,且不超过之前执行指令数 In

CSU 1416 Practical Number

原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1416 结论题,具体判断方法请点击这个网址. 筛素数是肯定的,但一开始定的范围太大了,想当然要筛到10^9的质数,但仔细想想,只要到sqrt(10^9)就可以了,最后的那一个质数是最后一步的比较,不用筛出来. #include <stdio.h> #include <string.h> #include <iostream> using namespace st

CSU 1412 Line and Circles

原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1412 题目要求判断是否有一条直线可以穿过所有的圆. 做法:把所有圆心做一次凸包,然后判断这个凸包是否能通过一个宽度为2*R的通道. 做法和求凸包直径差不多,只是判断的时候把点到两个端点的距离换成点到直线的距离. #include <stdio.h> #include <string.h> #include <math.h> #include <stdli

CSU 1547 Rectangle(dp、01背包)

题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1547 Description Now ,there are some rectangles. The area of these rectangles is 1* x or 2 * x ,and now you need find a big enough rectangle( 2 * m) so that you can put all rectangles into it(th

HDU 1240.Asteroids!

Asteroids! Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u SubmitStatusPracticeHDU 1240 Description You're in space. You want to get home. There are asteroids. You don't want to hit them. Input Input to this problem will

CSU 1601 War (并查集)

1601: War Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 202  Solved: 58 [Submit][Status][Web Board] Description AME decided to destroy CH's country. In CH' country, There are N villages, which are numbered from 1 to N. We say two village A and B ar

CSU - 1542 Flipping Parentheses (线段树)

CSU - 1542 Flipping Parentheses Time Limit: 5000MS   Memory Limit: 262144KB   64bit IO Format: %lld & %llu Submit Status Description Input Output Sample Input 6 3 ((())) 4 3 1 Sample Output 2 2 1 Hint 题意:先给出一个符合括号匹配的字符串,然后Q次操作 每次操作将某个括号反转,问将哪个括号反转能使字