科大讯飞笔试题 课程冲突
发布于 2017-09-16 17:29 2315 次浏览 0 赞 来自 试题交流  

#include<iostream>

#include<vector>

#include<string>

#include<stdlib.h>

#include<map>

using namespace std;



vector<string> split(const string& src, string separate_character)

{

vector<string> strs;


int separate_characterLen = separate_character.size();

int lastPosition = 0, index = -1;

while (-1 != (index = src.find(separate_character, lastPosition)))

{

strs.push_back(src.substr(lastPosition, index - lastPosition));

lastPosition = index + separate_characterLen;

}

string lastString = src.substr(lastPosition);

if (!lastString.empty())

strs.push_back(lastString);

return strs;

}


int main(){

int n = 0;

map<string, vector<string>>m;

string a;

char bb;

int b;

char str;

vector<string> ss;

string s;

getline(cin, s);

n = s.c_str()[0]-48;

while (n>0){


getline(cin,a);

ss = split(a, " "); 

m[ss[0]].push_back(ss[1]);

n--;

}


map<string, vector<string>>::iterator ite;



for (ite = m.begin(); ite != m.end(); ite++){

if ((*ite).second.size() > 1){


cout << (*ite).first << " ";

//int s = 0;

vector<string>::iterator ii;

for (ii = (*ite).second.begin(); ii != (*ite).second.end(); ii++){

cout << (*ii) << " ";

}

cout << endl;

}

}

return 0;

}


3 条回复

哎,第三题很简单,考试的时候卡在第二题动不了,好烦

2017-09-16 19:59
package xiaozhao;

import java.util.*;

public class t2 {

    public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        int n = Integer.parseInt(scanner.nextLine());
        Map<String, ArrayList<String>> map = new TreeMap<String, ArrayList<String>>();
        int i = 0;
        boolean flag = false;
        for (int j = 0; j < n; j++) {
            String str = scanner.nextLine();
            String s[] = str.split(" ");
            if (map.containsKey(s[0])) {
                ArrayList<String> list = map.get(s[0]);
                list.add(s[1]);
                map.put(s[0],list);
            } else {
                ArrayList<String> stringList = new ArrayList<String>();
                stringList.add(s[1]);
                map.put(s[0], stringList);
            }
        }
        for (Map.Entry<String, ArrayList<String>> entry : map.entrySet()) {
            if (entry.getValue().size() > 1) {
                flag = true;
                StringBuffer stringBuffer = new StringBuffer();
                for (String s : entry.getValue()) {
                    stringBuffer.append(s + " ");
                }
                System.out.println(entry.getKey() + " " + stringBuffer.toString());
            }
        }
        if (flag == false) {
            System.out.println("YES");
        }
    }
}


2017-09-16 20:08

刚刚自己随便写了下第三题 比第一第二题简单。。。好多

2017-09-16 20:08
添加回复
回到顶部