輸入由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;
}
最大和遊戲在於找到一系列數字中連續值的最大和,遇到負值就要重新加總字中的連續值
例如,在序列 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; //初始化
}
}