2013
12-13

# 九度-1419-文献排序[解题代码]

对每组输入。输出排好序的文献记录。

3
abc hello!
Abc hellz!
bbc hello!


abc hello!
Abc hellz!
bbc hello!


cpp 代码如下：
/*
* JD1419.cpp
*
*  Created on: 2012-9-25
*/

#include <iostream>
#include <algorithm>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int n;
string strArr[201];

bool mycmp(const string str1,const string str2){
string tmp1(str1);
string tmp2(str2);
for(size_t i=0; i<tmp1.size(); i++){
if(tmp1[i] >= 'A' && tmp1[i]<='Z')
tmp1[i] += 32;
}
for(size_t i=0; i<tmp2.size(); i++){
if(tmp2[i] >= 'A' && tmp2[i]<='Z')
tmp2[i] += 32;
}

return tmp1 < tmp2;
}

int main(){
//cout << "test";
//cin >> n;
while(cin >> n){
getchar();
for(int i=0; i<n; i++){
//string * strArr = new string[n];
char * temp = new char[202];
cin.getline(temp, 202);
//getchar();
strArr[i] = temp;
//transform(strArr[i].begin(), strArr[i].end(), strArr[i].begin(), toupper);
//cout << strArr[i];
}
sort(strArr, strArr+n, mycmp);
for(int i=0; i<n; i++)
cout << strArr[i] << endl;
}

return 0;
}

/**************************************************************
Problem: 1419
User: coder
Language: C++
Result: Accepted
Time:280 ms
Memory:1784 kb
****************************************************************/

java 代码如下：

import java.io.BufferedInputStream;

import java.util.Arrays;
import java.util.Scanner;

public class Main {

static int n;
static S[] arr;
public static void main(String[] args) {

Scanner s = new Scanner(new BufferedInputStream(System.in));
//PrintWriter out = new PrintWriter(System.out);
while(s.hasNextLine()){
n = Integer.parseInt(s.nextLine());
arr = new S[n];
for(int i=0; i<n; i++){
arr[i] = new S(s.nextLine());
}
Arrays.sort(arr);
for(S str:arr)
System.out.println(str.str);
}
}

}

class S implements Comparable<S>{
String str;

public S(String s){
this.str = s;
}

public int compareTo(S o) {
return str.compareToIgnoreCase(o.str);
}
}

/**************************************************************
Problem: 1419
User: coder
Language: Java
Result: Accepted
Time:2530 ms
Memory:24260 kb
****************************************************************/

1. 老大。我有一个比较奇葩的问题想咨询一下。。就是我用这个世界之窗新建的无数小号窗口。但是我要一个窗口一个IP。利用浏览器里面自带的工具进行代理。但是只要我改动一个。其他全部都是一点的IP。没有办法说。一个窗口一个。另外那个chrome也是。用了那个Prox

2. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

3. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

4. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

5. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

6. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

7. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

8. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

9. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

10. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

11. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

12. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

13. 吐槽一句，我家有一面，落地… 差一半高太夸张。小时侯怕我碰倒，紧贴墙放。初中那年就开始斜着搁为了照到大半个身体，除非有人穿20cm的松糕鞋否则鞋肯定是看不到全身的。以及我试了一下，人比镜子高，镜子贴墙放，往后退是看得到全身的，但我家是镜子1.6m，我

14. 这道题目的核心一句话是：取还是不取。
如果当前取，则index+1作为参数。如果当前不取，则任用index作为参数。

15. “再把所有不和该节点相邻的节点着相同的颜色”，程序中没有进行不和该节点相邻的其他节点是否相邻进行判断。再说求出来的也不一样是颜色数最少的

16. 代码是给出了，但是解析的也太不清晰了吧！如 13 abejkcfghid jkebfghicda
第一步拆分为 三部分 (bejk, cfghi, d) * C(13,3)，为什么要这样拆分，原则是什么？