1136
Palindrome 回文
standard notation 标准符号
iteration 迭代
#include
#include
#include
using namespace std;
string plus0(string a, string b){
int c = 0;
string ans;
for(int i = a.length()-1;i>=0;i--){
char temp = c + a[i] + b[i] - '0';
if(temp > '9'){
temp -= 10;
c = 1;
}else{
c = 0;
}
ans += temp;
}
if(c == 1){
ans += '1';
}
reverse(ans.begin(), ans.end());
return ans;
}
bool judge(string s){
for(int i = 0, j = s.length()-1; i <= j; i++, j--){
if(s[i]!=s[j]){
return false;
}
}
return true;
}
int main(){
int i;
string s1;
cin>>s1;
//别忘了首先判断s1 !!! 有两个测试用例是专门测试这个的!
if(judge(s1)){
cout<
1137 STL
题目大意:
- 网上编程至少获得200分
- 期末考试至少60分(100分制)
- 按照公式计算最终得分
#include
#include
#include
#include
1138 二叉树
题目大意: 给前序和中序遍历,输出后序遍历的第一个值 。
#include
#include
#include
using namespace std;
vector preorder;
vector inorder;
bool flag = false;
void find(int prest, int inst, int inen){
if(inst > inen || flag == true){
return;
}
int root = inst;
while(inorder[root] != preorder[prest]){
root++;
}
find(prest+1, inst, root-1);
find(prest+root-inst+1, root+1, inen);
if(flag == false){
printf("%d", inorder[root]);
flag = true;
}
}
int main(){
int n;
cin>>n;
preorder.resize(n);
inorder.resize(n);
for(int i=0;i>preorder[i];
}
for(int i=0;i>inorder[i];
}
find(0, 0, n-1);
return 0;
}
1139
题目大意: A-C-D-B,知道A,B,找C 和D
analogously 类似的
注:
- 如果是同性恋,那么要保证a找的朋友不能是b,b找的朋友不能是a (3.4测试用例针对这一点,一开始我没考虑到 )
- 考虑到0000之类的,还是用了string读入
- 第五个测试用例针对大数据,我就超时了555
#include
#include
#include
#include