牛客oj 習題2.9Grading&&習題4.1skew數

 

本題爲送分題。

 

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <map>
#include <cmath>

using namespace std;

int main(){
//	freopen("in.txt", "r", stdin);
	double P, T, G1, G2, G3, GJ, ans;
	while(~scanf("%lf %lf %lf %lf %lf %lf", &P, &T, &G1, &G2, &G3, &GJ)){
		if(fabs(G1-G2) <= T) ans = (G1+G2)/2;
		else if((fabs(G3-G1) <= T) && (fabs(G3-G2) > T)) ans = (G1+G3)/2;
		else if((fabs(G3-G1) > T) && (fabs(G3-G2) <= T)) ans = (G2+G3)/2;
		else if((fabs(G3-G1) <= T) && (fabs(G3-G2) <= T)) ans = max(max(G1, G2), G3);
		else if((fabs(G3-G1) > T) && (fabs(G3-G2) > T)) ans = G3;
		printf("%.1lf\n", ans);
	}
	return 0;
}

 

 

這個題也是送分題,注意數的範圍是十位數,int不夠用long long。

 

 

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <map>
#include <cmath>
#include <climits>

using namespace std;

const int MAXN = 100005;
const int INF = INT_MAX;

string n;

int main(){
//	freopen("in.txt", "r", stdin);
	while(cin >> n){
		if(n == "0") break;
		long long ans = 0, sector = 1;
		int num = n.size(), cur = 0;
		for(int i = 0; i < num; i++){
			sector *= 2;
		}
		while(num--){
			ans += ((n[cur++] - '0') * (sector-1));
			sector /= 2;
		}
		printf("%lld\n", ans);
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章