A
题意:
求8个整数组成的序列是否满足
1.单调递增
2.在100到675之间
3.能被25整除
满足输出Yes,不满足输出No。
题解:
令flag=1,如果在1到8个数中有数不符合3个条件中的一个使flag=0。再最后判断flag是否为1,为1输出Yes,否则输出No。
代码:
#include<iostream>
using namespace std;
int s[10];
int main()
{
int flag = 1;
for (int i = 1; i <= 8; i++)
{
cin >> s[i];
if (s[i] > 675 || s[i] < 100)
flag = 0;
if (s[i] < s[i - 1])
flag = 0;
if (s[i] % 25 != 0)
flag = 0;
}
if (flag == 0)
cout << "No";
else
cout << "Yes";
return 0;
}
B
题意:
高桥吃了n盘寿司,不同颜色的盘子Ci对应不同的价格,颜色Di对应的价格为Pi,i>1,如果颜色Ci未在Di中出现则价格为P0。
题解:
从D1开始找直到Dm,或者找到为止,如果找到了总价加上Pi,如果没找到加上P0。
代码:
#include<iostream>
using namespace std;
string c[110], d[110];
int p[110];
int n, m;
int main()
{
int flag;
int sum = 0;
cin >> n >> m;
for (int i = 1; i <= n; i++)
cin >> c[i];
for (int i = 1; i <= m; i++)
cin >> d[i];
for (int i = 0; i <= m; i++)
cin >> p[i];
for (int i = 1; i <= n; i++)
{
flag = 0;
for (int j = 1; j <= m; j++)
{
if (c[i] == d[j])
{
sum += p[j];
flag = 1;
}
}
if (flag != 1)
sum += p[0];
}
cout << sum;
return 0;
}