校赛排名2

18290 校赛排名2
时间限制:1000MS  内存限制:65535K
提交次数:0 通过次数:0

语言:G++;GCC;VC
描述
下面是校赛的排名规则:
比赛期间,提交代码后,系统会返回正确或错误等结果。最后的获胜者为正确解答题目最多,如果同题数则总用时最少的队伍。
每道试题的时间花费将从竞赛开始到试题提交并且被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,
未正确解答的试题不记时,如果已经返回正确的题目再重复提交则不影响结果。
例如:A、B两队都正确完成两道题目,其中A队提交这两题的时间分别是比赛开始后60分钟和165分钟,B队为80分钟和130分钟,
但B队第一个题提交了2次才通过。这样A队的总用时为60+165=225而B队为(80+20)+130=230,所以A队以总用时少而获胜。
现在给出裁判机上面所有队伍的提交时间(分钟数)和返回结果,需要你编程输出当前比赛的排行榜

注:0题的队伍不需要输出

输入格式
每行一个评判结果,格式为:时间(第几分钟提交的)+半角空格+队名+半角空格+题号+半角空格+评判结果(0通过,其它为出错)

题号由大写A字符开始,第2题是B,依次类推,最多不超过15题
所有评判结果已经按时间排序好
输出格式
输出排名,一行一个,格式为队名+半角空格+通过题数+半角空格+罚时

注:0题的队伍不需要输出

巡逻的士兵

巡逻的士兵

时间限制:1000MS  内存限制:65536K
提交次数:217 通过次数:58语言:G++;GCC

描述有N个士兵站成一队列, 现在需要选择几个士兵派去侦察。为了选择合适的士兵, 多次进行如下操作: 如果队列超过三个士兵, 那么去除掉所有站立位置为奇数的士兵, 或者是去除掉所有站立位置为偶数的士兵。直到不超过三个战士,他们将被送去侦察。现要求统计按这样的方法,总共可能有多少种不同的正好三个士兵去侦察的士兵组合方案。注: 按上法得到少于三士兵的情况不统计。1 <= N <= 2的32次方-1

输入格式有多行,每行一个数字N,最后一行是0
输出格式对每一行的数字N,输出针对N的方案数直到没有数字

#include<stdio.h>
#include<map>
using namespace std;
map<int,int>m;
int soilder(int count)
{
if(m.find(count)!=m.end()){
return m[count];
}
else
{
if(count <= 3)
        return count == 3 ? 1 : 0;
    else
    {
        if(count % 2 == 1)
            return m[count]=soilder(count / 2) + soilder(count / 2 + 1);
        else
            return m[count]=2 * soilder(count / 2);
    }
}
}
int main()
{
    int n;
    scanf(“%d”, &n);
    while(n != 0)
    {
        printf(“%d\n”, soilder(n));
        scanf(“%d”, &n);
    }
}

It is not ugly number

 

A  It is not ugly number

 

Time Limit:2000MS  Memory Limit:65535K

题型: 编程题   语言: 无限制

描述

Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ...shows the 
first 10 ugly numbers. By convention, 1 is included. Then, here are the first 10 Not ugly numbers:7, 11, 13, 14, 17, 19, 
21, 22, 23, 26. Given the integer n, write a program to find and print the n'th Not ugly number.

 

输入格式

First line is T(T<=10000), the number of cases.
The T lines following. Each line of the input contains a positive integer n (n <= 100000000).

输出格式

For each case, output the n'th Not ugly number .

输入样例

3
1
2
9

输出样例

7
11
23
#include<cstdio>
#include<iostream>
#include<vector>
#include<queue>
#include<set>
using namespace std;
typedef long long LL;
int main(){
int d[5]={2,3,5},js=1,js2;
int i,j,k,n;
LL x,x2;
priority_queue<LL,vector<LL>,greater<LL> >pq;
set<LL>s;
vector<LL>l;
s.insert(1);
pq.push(1);
for(i=1;;i++){
    x=pq.top();
    l.push_back(x);
    js++;
    if(x>150000000)break;
    pq.pop();
	for(j=0;j<3;j++){
	    x2=x*d[j];
	    if(!s.count(x2)){
	    pq.push(x2);
	    s.insert(x2);
	    }
	}
}
scanf("%d",&j);
  while(j--)
     {
         scanf("%d",&n);
         i=-1,js2=0;
         while(i++,1)
         {
             js2+=l[i+1]-l[i]-1;
             if(js2>=n) break;
         }
        printf("%lld\n",l[i+1]+n-js2-1);
     }
	return 0;
}

 

加密解密基础

base64

一般在密文串有= 或==

md5 32位 一般不可逆

彩虹表有可能可以破解

古典密码学,一般是可以破解的

凯撒 移位3位

abcdefg。。。。。xyz

def。。。。。。。abc

(ascii+3)%26-》

 

tomorrow is friday

 

rot

 

rot5

5是偏移量,只对数字加密

rot13只对字母加密

rot18是把rot5和rot13一起用

rot47

vigenere

abcdef

密码本(古代传递密文就有xx字典)

映射表

 

 

现代密码学:

rsa

des

ecc

ZIP伪加密

 

rsa加密

库gmpy

加密的key e=65537

解密的key d 用库gmpy求

rabin

n n的长度就是密文的长度

fai(n)=。。。。。。

yafu分解n为p,q(p,q为素数)

欧拉函数,质数的欧拉函数等于自身建议;

m 明文

 

c密文 c=。。。。。

 

Ugly number

Write a program to find the n-th ugly number.

Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 is the sequence of the first 10 ugly numbers.

Note that 1 is typically treated as an ugly number.

Hint:

  1. The naive approach is to call isUgly for every number until you reach the nth one. Most numbers arenot ugly. Try to focus your effort on generating only the ugly ones.
  2. An ugly number must be multiplied by either 2, 3, or 5 from a smaller ugly number.
  3. The key is how to maintain the order of the ugly numbers. Try a similar approach of merging from three sorted lists: L1, L2, and L3.
  4. Assume you have Uk, the kth ugly number. Then Uk+1 must be Min(L1 * 2, L2 * 3, L3 * 5).