zoukankan      html  css  js  c++  java
  • SRM 207 Div II Level Two: RegularSeason,字符串操作(sstream),多关键字排序(操作符重载)

    题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=2866&rd=5853


    主要是要对字符串的操作要熟悉,熟练使用 sstream 流可以大大简化操作,如这个题目,如果不用 sstream 流的话,用 sscanf 函数非常麻烦,因为输入的数据中数字的个数不是一样的,还有一个问题就是多关键字的排序,用 sort 函数时要自己写比较函数。

    另外那个得到实现四则运算的方法也很巧妙,我刚始用的方法比较麻烦,这种方法看别人代码知道的。

    代码如下:

    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <sstream>
    
    using namespace std;
    
    class RegularSeason
    {
    public:
    	vector <string> finalStandings(vector <string> teams, int rounds);
    };
    
    struct Team {
    	int wins;
    	string name;
    };
    
    /* 比较函数 */
    bool operator< (const Team &a, const Team &b)
    {
    	if ( a.wins != b.wins ) {
    		return a.wins > b.wins;	/* 按 wins */
    	} else {	
    		return a.name < b.name;	/* 按 name */
    	}
    };
    
    vector <string> RegularSeason::finalStandings(vector <string> teams, int rounds)
    {
    	int num = teams.size();
    	int prob;
    	vector <Team> vt(num);
    	vector <string> ans;
    
    	for (int i = 0; i < num; i++) {
    		vt[i].wins = 0;
    	}
    
    	for (int i = 0; i < num; i++) {
    		istringstream iss(teams[i]);
    		iss >> vt[i].name;
    		for (int j = 0; j < num; j++) {
    			iss >> prob;	/* 得到羸的可能值 */
    			if (i != j) {		/* 更新期望值 */
    				vt[j].wins += rounds * (100 - prob);
    				vt[i].wins += rounds * prob;
    			}	
    		}
    	}
    
    	sort(vt.begin(), vt.end());
    	for (int i = 0; i < num; i++) {
    		ostringstream oss;
    		int iwins = vt[i].wins;
    		string teamname = vt[i].name;
    
    		/* 四舍5入约分 */
    		iwins = (iwins + 50) / 100;
    
    		oss << teamname << " " << iwins;
    
    		ans.push_back(oss.str());
    	}
    
    	return ans;
    }
    


  • 相关阅读:
    DOM的认识以及一些节点的应用
    HTML5简介、视频
    PS切图保存后的背景图为透明
    计时器中qq上的一个功能,延时作用
    javascript定时器(上)
    javascript二级联动
    ps切片
    javascript数据类型、初始化
    Windows8 App Store 开发者会关心的文档
    win8 app code中设置Resources里定义好的Style
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3177899.html
Copyright © 2011-2022 走看看