存档

文章标签 ‘acm’

ZJU OJ 2001

2012年8月26日 没有评论
#include <iostream>
#include <string>
#include <algorithm>
#include <sstream>
using namespace std;
 
int str_to_int(string num_str){
	int result = 0, base = 1;
	for (int i=num_str.size()-1;i>=0;--i){
		result += (num_str[i] - '0')*base;
		base *= 10;
	}
	return result;
}
 
int main(int argc, char *argv[]){
	int n;
	cin >> n;
	for (int i=0;i<n;++i){
		string sa,sb;
		cin >> sa >> sb;
		reverse(sa.begin(), sa.end());
		reverse(sb.begin(), sb.end());
		int tmp = str_to_int(sa) + str_to_int(sb);
		ostringstream o;
		if (o << tmp){
			string s = o.str();
			reverse(s.begin(), s.end());
			cout << str_to_int(s) << endl;
		}
	}
	return 0;
}
分类: OJ, 算法 标签: , , , ,

ZJU OJ 2932

2012年8月26日 没有评论
#include <iostream>
#include <map>
#include <string>
using namespace std;
 
int main(){
	map<char, string> m;
	m.insert(make_pair(' ',"%20"));
	m.insert(make_pair('!',"%21"));
	m.insert(make_pair('$',"%24"));
	m.insert(make_pair('%',"%25"));
	m.insert(make_pair('(',"%28"));
	m.insert(make_pair(')',"%29"));
	m.insert(make_pair('*',"%2a"));
 
	string s;
	char line[80];
	while (cin.getline(line,80)){
		if (line[0] == '#')
			break;
		s = line;
		for (int i=0;i<s.size();i++){
			if (m.find(s[i]) == m.end()){
				cout << s[i];
			}
			else{
				cout << m[s[i]];
			}
		}
		cout << endl;
	}
	return 0;
}
分类: OJ, 算法 标签: , , , ,

ZJU OJ 1251

2012年8月25日 没有评论
#include <iostream>
#include <vector>
using namespace std;
 
int main(){
  int n, c=0;
  while (cin >> n){
	if (n == 0)
		break;
	int sum = 0;
	c++;
	vector<int> v;
	for (int i=0;i < n;++i){
		int d;
		cin >> d;
		v.push_back(d);
		sum += d;
	}
	int avg = sum / n;
	sum = 0;// now it's number of moves
	for (int i=0;i < v.size();++i){
		if (v[i] > avg)
			sum += v[i] - avg;
	}
	cout << "Set #" << c << endl;
	cout << "The minimum number of moves is " << sum << "." << endl;
	cout << endl;
  }
  return 0;
}
分类: OJ, 算法 标签: , , , ,

ZJU OJ 1115

2012年8月25日 没有评论

模九算digital root

不要用long long,字符串处理

#include <iostream>
#include <string>
using namespace std;
 
int main(){
    string s;
    while(cin >> s){
		if (s == "0")
			break;
        int n = 0;
        for(int i = 0;i != s.size();i++)
            n += s[i] - '0';
        n %= 9;
        if(n == 0) n=9;
        cout << n << endl;
    }
    return 0;
}
分类: OJ, 算法 标签: , , , , ,