Пример #1
0
int get_content(char *html_content)
{
	out_ans(html_content);
	//printf("%s",html_content);
	char *ss_start = NULL;
	char *se_end = NULL;
	char *ss = "Color='#fff'\">";
	char *se = "</span>";
	ss_start = strstr(html_content, ss);
	if(ss_start != NULL&&translate_flag==0)
	{
		se_end = strstr(ss_start, se);
		ss_start += strlen(ss);
		strncat(result, ss_start, se_end - ss_start); 
		translate_flag++;
		return 0;
	}
	return -1;
}
Пример #2
0
int main(int argc, char **argv) {
    srand(time(NULL));
    int n, k;
    int limit_n, limit_k, limit_len;
    limit_n = 30;
    limit_k = 100;
    limit_len = 5;
    if (argc == 5) {
        sscanf(argv[1], "%d", &limit_n);
        sscanf(argv[2], "%d", &limit_k);
    }
    else {
        return 1;
    }
    limit_n /= 2;
    limit_k /= 2;
    std::ofstream out_dat(argv[3]);
    std::ofstream out_ans(argv[4]);

    n = rand() % limit_n + limit_n;
    k = rand() % limit_k + limit_k;
    std::vector<std::string> names;
    for (int i = 0; i < n; ++i) {
        int length = rand() % limit_len + limit_len / 2;
        std::string name;
        for (int j = 0; j < length; ++j) {
            name += char(rand() % 26 + 'a');
        }
        names.push_back(name);
    }
    std::map<std::string, std::pair<int, int> > table;
    out_dat << n << ' ' << k << std::endl;
    int timer = 0;
    for (int i = 0; i < k; ++i) {
        int pos = rand() % n;
        int val = rand() % 1000;
        ++timer;
        if (table.find(names[pos]) != table.end()) {
            if (table[names[pos]].first < val) {
                table[names[pos]] = std::make_pair(val, timer);
            }
        }
        else {
            table[names[pos]] = std::make_pair(val, timer);
        }
        out_dat << names[pos] << ' ' << val << std::endl;
    }
    std::vector<std::pair<std::string, std::pair<int, int>> > result;
    for (auto it : table) {
        result.push_back(it);
    }
    std::sort(result.begin(), result.end(), [](const std::pair<std::string, std::pair<int, int>> &a,
                                        const std::pair<std::string, std::pair<int, int>> &b) -> bool
                                        {
                                            if (a.second.first == b.second.first) {
                                                return a.second.second < b.second.second;
                                            }
                                            return a.second.first > b.second.first;
                                        }
        );
    for (auto it : result) {
        out_ans << it.first << std::endl;
    }
}