iT邦幫忙

2022 iThome 鐵人賽

DAY 26
0

UVA10324

點我進UVA10324

題意:

輸入由0和1組成的字串,要判斷在範圍i~j內的字串是否相同

解題思路:

用迴圈判斷範圍內的字元是否相同

#include<bits\stdc++.h>
using namespace std;
int main(){
string s;
int cas=1;
while(cin>>s){
cout<<"Case "<<cas<<":"<<endl;
cas++;
int n,i,j;
cin>>n;
while(n--){
cin>>i>>j;
bool f=true;
for(int a=i;a<=j;a++){
if(s[a]!=s[i])f=false;//只要當範圍內的字元與位置i的字元不同,就代表不符合題意
}
if(f)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
}
return 0;
}


UVA12640

點我進UVA12640

題意

最大和遊戲在於找到一系列數字中連續值的最大和,遇到負值就要重新加總字中的連續值
例如,在序列 23、-1、-24、2、23 中,連續值的最大總和是 25

#include<iostream>
#include<string>
#include <sstream>
using namespace std;

int main() {
	long long num, sum = 0, ma = 0;
	string str;
	while (getline(cin, str)) { //輸入整串數字
		stringstream ss(str);
		while (ss>>str) //利用stringstream來分割字串
		{
			sum += stoi(str); //轉成數字並將連續值加總

			if (stoi(str) < 0) { //遇到負值中斷連續值歸0
				sum = 0;	
			}

			if (ma < sum) { //檢查最大連續值總和
				ma = sum;
			}
		}
		cout << ma << endl; //輸出最大連續值總和
		ma = 0; sum = 0; //初始化
	}
}

上一篇
[Day 25] UVAUVA12626 &UVA11332
下一篇
[Day 27] UVA10019& UVA514
系列文
30天從0開始的NCPC之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言