- #include <iostream>
- #include <cstdio>
- #include <iomanip>
- #include <algorithm>
- using namespace std;
- int main(){
- double h, m, ht, mt, angle, div, te1, te2, mp1, temp1, temp2;
- while(scanf("%lf:%lf", &h, &m) == 2){
- if(h == 0 && h == m)break;
- div = (5*m)/60;
- ht = (h*5) + div; mt = m;
- te1 = max(ht, mt);
- te2 = min(ht, mt);
- mp1 = 60 - te1;
- temp1 = (mp1 + te2)*6;
- temp2 = (te1 - te2)*6;
- if(temp1 < 0)temp1 *= -1;
- if(temp2 < 0)temp2 *= -1;
- angle = min(temp1, temp2);
- while(angle > 180)angle -= 180;
- cout << fixed << setprecision(3) << angle << endl;
- }
- return 0;
- }
Friday, April 24, 2015
UVa - 579 - Clock Hands
UVa - 576 - Haiku Review
- #include <bits/stdc++.h>
- using namespace std;
- int main(){
- string input;
- while(getline(cin, input)){
- if(input == "e/o/i")break;
- int sz = input.size(), flag = 1, cnt = 0, f = 0;
- for(int i = 0; i < sz; i++){
- if(input[i] == 'a' || input[i] == 'e' || input[i] == 'i' || input[i] == 'o' || input[i] == 'u' || input[i] == 'y'){
- if(!f)cnt += 1, f = 1;
- }
- else f = 0;
- if(input[i] == 47 || i == sz-1){
- if(flag == 1 && cnt == 5)flag += 1, cnt = 0;
- else if(flag == 2 && cnt == 7)flag += 1, cnt = 0;
- else if(flag == 3 && cnt == 5)flag += 1, cnt = 0;
- else break;
- }
- }
- if(flag == 4)cout << "Y" << endl;
- else cout << flag << endl;
- }
- return 0;
- }
UVa - 574 - Sum It Up
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <vector>
- using namespace std;
- int main(){
- double height, climb, slid, fatigue;
- double fatig, limit;
- int day, flag;
- while(cin >> height >> climb >> slid >> fatigue){
- if(height == 0 && height == climb && climb == slid && slid == fatigue)break;
- limit = 0, day = 0, flag = 0;
- fatig = (climb * fatigue) / 100.0;
- while(1){
- limit += climb;day++;
- if(limit > height){flag = 1; break;}
- limit -= slid;
- if(limit < 0)break;
- climb -= fatig;
- if(climb <= 0)climb = 0;
- }
- if(flag)cout << "success on day " << day << endl;
- else cout << "failure on day " << day << endl;
- }
- return 0;
- }
UVa - 573 - The Snail
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <vector>
- using namespace std;
- int main(){
- double height, climb, slid, fatigue;
- double fatig, limit;
- int day, flag;
- while(cin >> height >> climb >> slid >> fatigue){
- if(height == 0 && height == climb && climb == slid && slid == fatigue)break;
- limit = 0, day = 0, flag = 0;
- fatig = (climb * fatigue) / 100.0;
- while(1){
- limit += climb;day++;
- if(limit > height){flag = 1; break;}
- limit -= slid;
- if(limit < 0)break;
- climb -= fatig;
- if(climb <= 0)climb = 0;
- }
- if(flag)cout << "success on day " << day << endl;
- else cout << "failure on day " << day << endl;
- }
- return 0;
- }
UVa - 499 - What's The Frequency, Kenneth
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
int main(){
string text;
int cnt[125], mx;
while(getline(cin, text)){
int sz = text.size();
memset(cnt, 0, sizeof(cnt));
for(int i = 0; i < sz; i++)
if((text[i] >= 'a' && text[i] <= 'z') || (text[i] >= 'A' && text[i] <= 'Z'))cnt[text[i]]++;
mx = cnt[0];
for(int i = 0; i < 125; i++)if(mx < cnt[i])mx = cnt[i];
for(int i = 0; i < 125; i++)if(mx == cnt[i])printf("%c", i);
cout << " " << mx << endl;
}
return 0;
}
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
int main(){
string text;
int cnt[125], mx;
while(getline(cin, text)){
int sz = text.size();
memset(cnt, 0, sizeof(cnt));
for(int i = 0; i < sz; i++)
if((text[i] >= 'a' && text[i] <= 'z') || (text[i] >= 'A' && text[i] <= 'Z'))cnt[text[i]]++;
mx = cnt[0];
for(int i = 0; i < 125; i++)if(mx < cnt[i])mx = cnt[i];
for(int i = 0; i < 125; i++)if(mx == cnt[i])printf("%c", i);
cout << " " << mx << endl;
}
return 0;
}
UVa - 484 - The Department of Redundancy
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main(){
int numbers;
map <int, int> carry;
vector <int> sequence;
while(cin >> numbers){
if(carry.count(numbers) == 0)carry[numbers] = 1, sequence.push_back(numbers);
else carry[numbers] += 1;
}
int l = sequence.size();
for(int i = 0; i < l; i++)cout << sequence[i] << " " << carry[sequence[i]] << endl;
return 0;
}
#include <vector>
#include <map>
using namespace std;
int main(){
int numbers;
map <int, int> carry;
vector <int> sequence;
while(cin >> numbers){
if(carry.count(numbers) == 0)carry[numbers] = 1, sequence.push_back(numbers);
else carry[numbers] += 1;
}
int l = sequence.size();
for(int i = 0; i < l; i++)cout << sequence[i] << " " << carry[sequence[i]] << endl;
return 0;
}
UVa - 459 - Graph Connectivity
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int par[33];
int cnt;
int find_set(int r){
if(par[r] == r)return r;
return par[r] = find_set(par[r]);
}
void merge_set(int x, int y){
int u = find_set(x);
int v = find_set(y);
if(u != v)par[u] = v, cnt--;
}
int main(){
int t, m, n, blank = 0;
char s;
string node;
cin >> t;
while(t--){
if(blank)cout << endl;
cin >> s;
cnt = s-64;
for(int i = 1; i <= s-64; i++)par[i] = i;///create set
cin.ignore();
while(getline(cin, node)){
if(node == "")break;
m = node[0]-64;
n = node[1]-64;
merge_set(m, n);
}
cout << cnt << endl;
blank = 1;
}
return 0;
}
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int par[33];
int cnt;
int find_set(int r){
if(par[r] == r)return r;
return par[r] = find_set(par[r]);
}
void merge_set(int x, int y){
int u = find_set(x);
int v = find_set(y);
if(u != v)par[u] = v, cnt--;
}
int main(){
int t, m, n, blank = 0;
char s;
string node;
cin >> t;
while(t--){
if(blank)cout << endl;
cin >> s;
cnt = s-64;
for(int i = 1; i <= s-64; i++)par[i] = i;///create set
cin.ignore();
while(getline(cin, node)){
if(node == "")break;
m = node[0]-64;
n = node[1]-64;
merge_set(m, n);
}
cout << cnt << endl;
blank = 1;
}
return 0;
}
Subscribe to:
Posts (Atom)