在四大自由精神之下强化的GPL-3.0

点击量:20

建立日期2007-07-30 07:30最近更新在2012-05-14 13:00作者是葛冬梅历时一年半的意见搜集与修改,GPL-3.0(注一)终于定稿,除了整体结构较为严谨外,也透过用词上的去区域化,加强了GPL-3.0 在不同国家司法管辖区域里,被合理解读的弹性(注二)。此外,GPL-3.0 相对于GPL-2.0 的重大修改如下:

继续阅读“在四大自由精神之下强化的GPL-3.0”

1001 舒适的路线

点击量:6

Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光。
Z小镇附近共有
N(1<N≤500)个景点(编号为1,2,3,…,N),这些景点被M(0<M≤5000)条道路连接着,所有道路都是双向的,两个景点之间可能有多条道路。也许是为了保护该地的旅游资源,Z小镇有个奇怪的规定,就是对于一条给定的公路Ri,任何在该公路上行驶的车辆速度必须为Vi。频繁的改变速度使得游客们很不舒服,因此大家从一个景点前往另一个景点的时候,都希望选择行使过程中最大速度和最小速度的比尽可能小的路线,也就是所谓最舒适的路线。输入描述 Input Description

继续阅读“1001 舒适的路线”

uva 1597 Searching the Web

点击量:23

The word “search engine” may not be strange to you. Generally speaking, a search engine searches the web pages available in the Internet, extracts and organizes the information and responds to users’ queries with the most relevant pages. World famous search engines, like GOOGLE, have become very important tools for us to use when we visit the web. Such conversations are now common in our daily life:

继续阅读“uva 1597 Searching the Web”

复合词 UVa-10391

点击量:14

You are to find all the two-word compound words in a dictionary. A two-word compound word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.
Input
Standard input consists of a number of lowercase words, one per line, in alphabetical order. There will be no more than 120,000 words.
Output
Your output should contain all the compound words, one per line, in alphabetical order.
Sample Input
a alien born less lien never nevertheless new newborn the zebra
Sample Output
alien newborn

#include<iostream>
#include<string>
#include<set>
#include<map>
#include<algorithm>
using namespace std;

const int maxn = 120010;
string words[maxn];
map<string, bool>myhash;
set<string>ans;

int main()
{
    int cnt = 0;
    while (cin >> words[cnt])
    {
        myhash[words[cnt++]] = true;
    }
    for (int i = 0; i < cnt; i++)
    {
        for (int j = 0; j < int (words[i].size() - 1); j++)
        {
            string a = words[i].substr(0, j + 1);
            string b = words[i].substr(j + 1);
            if (myhash[a] && myhash[b])
            {
                ans.insert(words[i]);    //可能出现重复的情况
            }
        }
    }
    for (set<string>::iterator it = ans.begin(); it != ans.end(); it++)
        cout << *it;
    return 0;
}

6-1 单链表逆转 (20 分)

点击量:10

本题要求实现一个函数,将给定的单链表逆转。

函数接口定义:

List Reverse( List L );

其中List结构定义如下:

typedef struct Node *PtrToNode;
struct Node {
    ElementType Data; /* 存储结点数据 */
    PtrToNode   Next; /* 指向下一个结点的指针 */
};
typedef PtrToNode List; /* 定义单链表类型 */

L是给定单链表,函数Reverse要返回被逆转后的链表。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>

typedef int ElementType;
typedef struct Node *PtrToNode;
struct Node {
    ElementType Data;
    PtrToNode   Next;
};
typedef PtrToNode List;

List Read(); /* 细节在此不表 */
void Print( List L ); /* 细节在此不表 */

List Reverse( List L );

int main()
{
    List L1, L2;
    L1 = Read();
    L2 = Reverse(L1);
    Print(L1);
    Print(L2);
    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

5
1 3 4 5 2

输出样例:

1
2 5 4 3 1
List Reverse( List L )
{
	if(L==NULL)
	return NULL;
	PtrToNode l1=NULL;
//	PtrToNode l3=L;
	PtrToNode l2=NULL;
	while(L!=NULL)
	{
		l1=L->Next;
		L->Next=l2;
		l2=L;
		L=l1;
	}
	return l2;
}

1002 A+B for Polynomials (25 分)

点击量:7

This time, you are supposed to find A+B where A and B are two polynomials.

Input Specification:

Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial:

K N​1​​ aN​1​​​​ N​2​​ aN​2​​​​ … NK​​ aNK​​​​

where K is the number of nonzero terms in the polynomial, Ni​​ and aNi​​​​ (i=1,2,⋯,K) are the exponents and coefficients, respectively. It is given that 1≤K≤10,0≤NK​​<⋯<N​2​​<N​1​​≤1000.

Output Specification:

For each test case you should output the sum of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate to 1 decimal place.

Sample Input:

2 1 2.4 0 3.2
2 2 1.5 1 0.5

Sample Output:

3 2 1.5 1 2.9 0 3.2

1001 A+B Format

点击量:6

Calculate a+b and output the sum in standard format — that is, the digits must be separated into groups of three by commas (unless there are less than four digits).

Input Specification:

Each input file contains one test case. Each case contains a pair of integers a and b where −10​6​​≤a,b≤10​6​​. The numbers are separated by a space.

Output Specification:

For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.

Sample Input:

-1000000 9

Sample Output:

-999,991

内穿穿透工具lanproxy的配置使用

点击量:9

做微信开发或者把内网服务穿透出去,都会需要一个公网的地址

经常使用的内网穿透工具有:花生壳,ngrok,魔法隧道等,但是这些域名都是第三方随机的,自定义域名的都是收费。

本来在window是使用的n2n内网穿透服务的,但是换了Mac之后没有找到Mac端的客户端。

所以本文讲解一下怎么用lanproxy搭建一个内网穿透的服务 继续阅读“内穿穿透工具lanproxy的配置使用”

你的MySQL服务器开启SSL了吗?

点击量:11

最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的。本篇主要介绍MySQL5.7 SSL连接加密功能、如何使用?以及使用SSL的一些注意点。

我们知道,MySQL5.7之前版本,安全性做的并不够好,比如安装时生成的root空密码账号、存在任何用户都能连接上的test库等,导致数据库存在较大的安全隐患。好在5.7版本对以上问题进行了一一修复。与此同时,MySQL 5.7版本还提供了更为简单SSL安全访问配置,且默认连接就采用SSL的加密方式,这让数据库的安全性提高一个层次。

继续阅读“你的MySQL服务器开启SSL了吗?”