补::
2019-03-31 :参加了昨天的天梯赛,只得了153分,队伍勉强得的国三省二…第一阶段的最后一题太难了啊啊啊啊,直接爆炸!
说好的第一阶段全是水题呐?
print("Hello World!")
#include
int main(void)
{
int count;
char sign;
scanf("%d %c", &count, &sign);
int i, s, s_copy;
for (i = 3, s = 1; count > s; i += 2)
{
s_copy = s;
s += 2 * i;
}
int dif = 0;
if (count != s)
{
dif = count - s_copy;
s = s_copy;
i -= 2;
}
i -= 2;
int j, i_s;
for (j = 0; j < i / 2 + 1; j++)
{
int i1;
for (i1 = j; i1 > 0; i1--)
putchar(' ');
i_s = i;
i_s -= j * 2;
for (; i_s > 0; i_s--)
putchar(sign);
printf("\n");
}
for (j -= 2; j >= 0; j--)
{
int i1;
for (i1 = j; i1 > 0; i1--)
putchar(' ');
i_s = i;
i_s -= j * 2;
for (; i_s > 0; i_s--)
putchar(sign);
putchar('\n');
}
printf("%d\n", dif);
return 0;
}
#include
#include
void fun(char *test);
int main(void)
{
char str[1001];
scanf("%s", str);
fun(str);
return 0;
}
void fun(char *test)
{
int array[10] = {0};
int i;
for (i = strlen(test) - 1; i >= 0; --i)
array[test[i] - '0']++;
for (i = 0; i < 10; ++i)
if (array[i] > 0)
printf("%d:%d\n", i, array[i]);
}
#include
#include
void fun(int test);
int main(void)
{
int i;
scanf("%d", &i);
fun(i);
return 0;
}
void fun(int test)
{
printf("Celsius = %d\n", (int)(5 * ((double)test - 32) / 9));
}
#include
#include
using namespace std;
using intpair = pair;
int main(int argc, char *argv[])
{
int cnt;
cin >> cnt;
vector vec(cnt + 1);
while (cnt--)
{
long long int tll;
int a, b;
cin >> tll >> a >> b;
vec[a] = {tll, b};
}
cin >> cnt;
while (cnt--)
{
int temp;
cin >> temp;
cout << vec[temp].first << ' ' << vec[temp].second << endl;
}
return EXIT_SUCCESS;
}
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int num, maxlen{0}, maxbeg{0}, maxend{0};
cin >> num;
for (int i = 2; i <= static_cast(sqrt(num)); ++i)
{
long long int sum = 1;
int j;
for (j = i; sum < num; ++j)
{
sum *= j;
if (num % sum == 0)
{
if (j - i + 1 > maxlen)
{
maxlen = j - i + 1;
maxbeg = i;
maxend = j;
}
}
}
}
if (!maxlen)
{
cout << 1 << endl;
cout << num << endl;
}
else
{
cout << maxlen << endl;
for (int i = maxbeg; i <= maxend; ++i)
cout << i << (i == maxend ? '\n' : '*');
}
return EXIT_SUCCESS;
}
需要注意累乘在输入很大的时候一定会超出 int 范围,因此用 long long int 类型。
#include
#include
int main(int argc,char* argv[])
{
typedef char String[100];
String s;
scanf("%s", s);
int i;
for (i = 0; i < strlen(s); i++)
{
char Num = s[i];
switch (Num)
{
case '0':printf("ling"); break;
case '1':printf("yi"); break;
case '2':printf("er"); break;
case '3':printf("san"); break;
case '4':printf("si"); break;
case '5':printf("wu"); break;
case '6':printf("liu"); break;
case '7':printf("qi"); break;
case '8':printf("ba"); break;
case '9':printf("jiu"); break;
case '-':printf("fu"); break;
default:printf("error!"); break;
}
printf("%c", i < strlen(s) - 1 ? ' ' : '\n');
}
return 0;
}
#include
#include
int main(int argc, char *argv[])
{
int A, B;
scanf("%d %d", &A, &B);
int min, max;
if (A > B){min = B;max = A;}
else{min = A;max = B;}
int i, sum;
for (i = min, sum = 0; i <= max; i++)
{
printf("%5d", i);
if ((i - min + 1) % 5 == 0 && i != min || i == max)
printf("\n");
sum += i;
}
printf("Sum = %d\n", sum);
return 0;
}
#include
typedef long long ll;
inline ll gcd(ll x, ll y) //求最大公约数
{
return y ? gcd(y, x % y) : x;
}
void OUTput(ll a, ll b) //按照格式来去输出
{
ll e = a / b;
a -= e * b;
if (e == 0 && a == 0)
printf("0");
if (e != 0)
printf("%lld", e);
if (a != 0 && e != 0)
printf(" ");
if (a != 0)
printf("%lld/%lld", a, b);
return;
}
int main()
{
ll n;
ll a, b, c, d;
scanf("%lld", &n);
scanf("%lld/%lld", &a, &b);
for (int i = 1; i <= n - 1; i++)
{
scanf("%lld/%lld", &c, &d);
ll g = gcd(b, d); //两个分母的最大公约数
ll mul = b / g * d; //两个分母的最小公倍数
ll e1 = mul / b; //第一个分数扩大的倍数
ll e2 = mul / d; //第二个分数扩大的倍数
a = a * e1 + c * e2; //相加后的分子
b = mul;
if (a != 0) //排除当分子为零的情况
{
ll gg = gcd(a, b);
a /= gg;
b /= gg;
}
}
OUTput(a, b);
return 0;
}
#include
void swap(int* x, int* y);
int main(int argc, char* argv[])
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a > b)
swap(&a, &b);
if (a > c)
swap(&a, &c);
if (b > c)
swap(&b, &c);
printf("%d->%d->%d\n", a, b, c);
return 0;
}
void swap(int* x, int* y)
{
*x += *y;
*y = *x - *y;
*x -= *y;
}
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
string str, sub;
getline(cin, str);
getline(cin, sub);
bool book[128]{false};
for (const auto i : sub)
book[i] = true;
for (const auto i : str)
if (book[i] == false)
cout << i;
return EXIT_SUCCESS;
}
#include
#include
int main(int argc,char* argv[])
{
int n;
scanf("%d",&n);
int res = 1;
for(int i=0;i
#include
#include
int main(int argc,char* argv[])
{
int n;
scanf("%d",&n);
int res = 1, sum = 0;
for(int i=1;i<=n;i++)
{
res *= i;
sum += res;
}
printf("%d\n",sum);
return EXIT_SUCCESS;
}
print("This is a simple problem.")
#include
#include
#define divide(n) (n/2.0-n/2)?n/2+1:n/2
int main(int argc,char* argv[])
{
int n,style;
scanf("%d %c",&n,&style);
int m = divide(n);
for(int i=0;i
#include
#include
#include
int func(char* arr);
int main(int argc,char* argv[])
{
int n;
int count = 0;
scanf("%d",&n);
for (int i = 0; i < n; i++)
{
char arr[19];
scanf("%s",arr);
count += func(arr);
}
if (!count)
printf("All passed\n");
return EXIT_SUCCESS;
}
int func(char* arr)
{
int sum = 0;
char a[18];
for (int i = 0; i < 17; i++)
{
if(!isdigit(arr[i]))
{
printf("%s\n",arr);
return EXIT_FAILURE;
}
a[i] = arr[i] - '0';
}
if (arr[17] == 'X')
a[17] = 10;
else
a[17] = arr[17] - '0';
int b[17] = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
for (int i = 0; i < 17; i++)
sum = sum + a[i] * b[i];
sum = sum % 11;
int c[11] = {1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2};
if (c[sum] != a[17])
{
printf("%s\n",arr);
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
#include
#include
#include
double func(char *arr);
int main(int argc, char *argv[])
{
char str[60];
scanf("%s", str);
printf("%.2lf%%\n", func(str));
return EXIT_SUCCESS;
}
double func(char *arr)
{
double len = strlen(arr);
double even = (arr[(int)len - 1] % 2) ? 1.0 : 2.0;
double sym = 1.0;
if (arr[0] == '-')
{
sym = 1.5;
len--;
}
double count = 0;
for (int i = 0; i < strlen(arr); i++)
if (arr[i] == '2')
count++;
double result = (double)count / len * sym * even * 100;
return result;
}
#include
#include
int main(int argc,char* argv[])
{
int hour, min;
scanf("%d:%d", &hour, &min);
if(hour < 12||hour == 12&&min == 0)
printf("Only %02d:%02d. Too early to Dang.\n", hour, min);
else
{
hour -= 12;
for(int i = 0; i < hour; i++)
printf("Dang");
if(min > 0)
printf("Dang\n");
}
return EXIT_SUCCESS;
}
#include
#include
int main(int argc, char *argv[])
{
int as, bs, n;
scanf("%d%d%d", &as, &bs, &n);
int max_a = as, max_b = bs;
while (n--)
{
int han_a, han_b, hua_a, hua_b;
scanf("%d%d%d%d", &han_a, &hua_a, &han_b, &hua_b);
int sum = han_a + han_b;
if (sum == hua_a && sum != hua_b)
as--;
if (sum == hua_b && sum != hua_a)
bs--;
if (as < 0)
{
printf("A\n%d\n", max_b - bs);
break;
}
if (bs < 0)
{
printf("B\n%d\n", max_a - as);
break;
}
}
return EXIT_SUCCESS;
}
#include
#include
int per[100000];
int main(int argc, char *argv[])
{
int n, k, m, count = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &k);
for (int j = 0; j < k; j++)
{
int t;
scanf("%d", &t);
per[t] += k - 1;
}
}
scanf("%d", &m);
int flag = 0;
for (int i = 0; i < m; i++)
{
int t;
scanf("%d", &t);
if (per[t] == 0)
{
count++;
if (flag == 0)
{
printf("%05d", t);
flag = 1;
}
else
printf(" %05d", t);
per[t] = -1;
}
}
if (count == 0)
printf("No one is handsome\n");
return 0;
}
print("I'm gonna WIN!")print("I'm gonna WIN!")print("I'm gonna WIN!")
#include
#include
#include
#include
int main(int argc,char* argv[])
{
int num;
scanf("%d",&num);
int odd,even;
odd=even=0;
while(num--)
{
int ind;
scanf("%d",&ind);
if(ind%2)
odd++;
else
even++;
}
printf("%d %d\n",odd,even);
return EXIT_SUCCESS;
}
#include
#include
#include
#include
char str[10010];
int g,p,l,t;
int main(int argc,char* argv[])
{
scanf("%s",str);
int i;
for(i=0;str[i];i++)
{
str[i]=toupper(str[i]);
if(str[i]=='G')
g++;
if(str[i]=='P')
p++;
if(str[i]=='L')
l++;
if(str[i]=='T')
t++;
}
for(;g|p|l|t;)
{
if(g)
{
putchar('G');
g--;
}
if(p)
{
putchar('P');
p--;
}
if(l)
{
putchar('L');
l--;
}
if(t)
{
putchar('T');
t--;
}
}
putchar('\n');
return EXIT_SUCCESS;
}
#include
#include
#include
#include
int main(int argc,char* argv[])
{
int num;
scanf("%d",&num);
if(num>=1&&num<=5)
printf("%d\n",num+2);
else
printf("%d\n",num-5);
return EXIT_SUCCESS;
}
#include
#include
#include
#include
char str[1000];
int main(int argc,char* argv[])
{
scanf("%[^\n]",str);
int i;
int num_a,num_b;
num_a=num_b=0;
for(i=0;isdigit(str[i]);i++)
{
num_a*=10;
num_a+=str[i]-'0';
}
if(str[i]!=' ')
num_a=-1;
while(str[i]!=' ')
i++;
for(i++;isdigit(str[i]);i++)
{
num_b*=10;
num_b+=str[i]-'0';
}
if(str[i]!=0)
num_b=-1;
if(num_a<=0||num_a>1000)
if(num_b<=0||num_b>1000)
printf("? + ? = ?\n");
else
printf("? + %d = ?\n",num_b);
else
if(num_b<=0||num_b>1000)
printf("%d + ? = ?\n",num_a);
else
printf("%d + %d = %d\n",num_a,num_b,num_a+num_b);
return EXIT_SUCCESS;
}
#include
#include
#include
int main(int argc, char const *argv[])
{
char *str = "I Love GPLT";
for (int i = 1; i <= 11; i++)
{
putchar(str[i - 1]);
putchar('\n');
}
return 0;
}
#include
#include
#include
#include
int main(int argc, char const *argv[])
{
bool book[10] = {false};
int spbook[10] = {0};
char buffer[20] = {0};
scanf("%s", buffer);
for (int i = 0; i < strlen(buffer); i++)
book[buffer[i]-'0'] = true;
int index = 0;
bool fis = false;
printf("int[] arr = new int[]{");
for (int i = 9; i >= 0; i--)
{
if (book[i])
{
spbook[i] = index++;
if (fis)
putchar(',');
else
fis = true;
putchar('0' + i);
}
}
printf("};\nint[] index = new int[]{");
fis = false;
for (int i = 0; i < strlen(buffer); i++)
{
if (fis)
putchar(',');
else
fis = true;
putchar('0' + spbook[buffer[i] - '0']);
}
printf("};\n");
return 0;
}
#include
#include
#include
#include
#include
bool ispr(int ch)
{
if (ch < 2)
return false;
for (int i = 2; i <= sqrt((double)ch); i++)
if (ch % i == 0)
return false;
return true;
}
int main(int argc, char const *argv[])
{
int cnt;
scanf("%d", &cnt);
while (cnt--)
{
int temp;
scanf("%d", &temp);
if (ispr(temp))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
#include
#include
#include
#include
#include
int main(int argc, char const *argv[])
{
int high;
scanf("%d", &high);
printf("%.1lf\n", (high - 100.0) * 0.9 * 2);
return 0;
}
#include
using namespace std;
int main(int argc, char *argv[])
{
int cnt;
cin >> cnt;
while (cnt--)
{
double height, weight;
cin >> height >> weight;
weight /= 2;
double temp{(height - 100.0) * 0.9};
if ((weight - temp) >= temp * 0.1)
cout << "You are tai pang le!" << endl;
else if ((weight - temp) <= temp * -0.1)
cout << "You are tai shou le!" << endl;
else
cout << "You are wan mei!" << endl;
}
return EXIT_SUCCESS;
}
#include
using namespace std;
int main(int argc, char *argv[])
{
int cnt;
cin >> cnt;
while (cnt--)
{
double height, weight;
cin >> height >> weight;
weight /= 2;
double temp{(height - 100.0) * 0.9};
if ((weight - temp) >= temp * 0.1)
cout << "You are tai pang le!" << endl;
else if ((weight - temp) <= temp * -0.1)
cout << "You are tai shou le!" << endl;
else
cout << "You are wan mei!" << endl;
}
return EXIT_SUCCESS;
}
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
unsigned cnt;
cin >> cnt;
char ch;
cin >> ch;
getchar();
string str;
getline(cin, str);
if (str.size() > cnt)
{
auto len = str.size() - cnt;
cout << str.substr(len) << endl;
}
else
cout << string(cnt - str.size(), ch) << str << endl;
return EXIT_SUCCESS;
}
#include
bool check(int num,const int &n)
{
int cnt{3};
bool dig[10]={false};
for(int i=1;i<=4;++i)
{
int temp{num%10};
if(dig[temp])
--cnt;
else
dig[temp]=true;
num/=10;
}
if(cnt==n-1)
return true;
return false;
}
int main(int argc, char** argv)
{
int a,b,c;
scanf("%d%d",&a,&b);
c=a;
while(!check(a,b))
++a;
printf("%d %04d\n",a-c,a);
return 0;
}
#include
int main(int argc,char *argv[])
{
int cnt;
scanf("%d",&cnt);
int book[1001]{0},maxn{0},index{-1};
while(cnt--)
{
int cntt;
scanf("%d",&cntt);
while(cntt--)
{
int temp;
scanf("%d",&temp);
++book[temp];
if(book[temp]>maxn)
index=temp,maxn=book[temp];
else if(book[temp]==maxn&&temp>index)
index=temp;
}
}
printf("%d %d\n",index,maxn);
return EXIT_SUCCESS;
}
#include
#include
#include
int main(int argc,char argv[])
{
int num = 12;
char a[num], b[num], str[num];
int cnt = 0;
while (scanf("%s",str))
{
if (str[0] == '.')
break;
cnt++;
if (cnt == 2) strcpy(a, str);
if (cnt == 14) strcpy(b, str);
}
if (cnt >= 14)
printf("%s and %s are inviting you to dinner...", a, b);
else if (cnt <= 1)
printf("Momo... No one is for you ...");
else
printf("%s is the only one for you...", a);
return EXIT_SUCCESS;
}
#include
int main(int argc,char *argv[])
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a*b);
return EXIT_SUCCESS;
}
#include
int main(int argc,char *argv[])
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d/",a);
if(b<0)
putchar('(');
printf("%d",b);
if(b<0)
putchar(')');
putchar('=');
if(!b)
printf("Error\n");
else
printf("%.2lf\n",a/static_cast(b));
return EXIT_SUCCESS;
}
print("Hello World\nHello New World")
#include
#include
#include
#define myceil(a,b) (a%b?((a/b)):(a/b-1))
using namespace std;
int main(int argc,char *argv[])
{
int n;
char str[1000];
scanf("%d%*c%[^\n]",&n,str);
int len{strlen(str)};
int k{myceil(len,n)};
for(int i=0;i=0;--j)
{
if(i+j*n>=len)
putchar(' ');
else
putchar(str[i+j*n]);
}
putchar('\n');
}
return EXIT_SUCCESS;
}
#include
using namespace std;
int main(int argc,char *argv[])
{
int n;
scanf("%d%*c",&n);
while(n--)
{
char ch{getchar()};
double h;
scanf("%lf%*c",&h);
if(ch=='M')
printf("%.2lf\n",h/1.09);
else
printf("%.2lf\n",h*1.09);
}
return EXIT_SUCCESS;
}
#include
int main(int argc,char *argv[])
{
int cnt{0};
while(1)
{
++cnt;
int temp;
scanf("%d",&temp);
if(temp==250)
{
printf("%d\n",cnt);
break;
}
}
return EXIT_SUCCESS;
}
#include
int main(int argc,char *argv[])
{
int a,b,c;
scanf("%d-%d-%d",&a,&b,&c);
printf("%d-%02d-%02d\n",c,a,b);
return EXIT_SUCCESS;
}
#include
#include
#include
using namespace std;
int main(int argc,char *argv[])
{
int day;
scanf("%d",&day);
int ind{0},sum{0};
vector vec(1001,-1);
while(day)
{
int index,hour,min;
char ch;
scanf("%d %c %d:%d",&index,&ch,&hour,&min);
if(!index)
{
double outsum=sum;
if(ind&&ind!=1)
outsum/=ind;
printf("%d %.0lf\n",ind,outsum);
sum=ind=0;
fill(vec.begin(),vec.end(),-1);
--day;
continue;
}
if(ch=='S')
vec[index]=hour*60+min;
else if(ch=='E'&&vec[index]!=-1)
{
++ind;
sum+=hour*60+min-vec[index];
vec[index]=-1;
}
}
return EXIT_SUCCESS;
}
很坑。题目并没有说清楚借书的时间取最晚时间。
#include
#include
#include
#include
using namespace std;
int main(int argc,char *argv[])
{
int cnt,isp{0};
cin>>cnt;
while(1)
{
string str;
cin>>str;
if(str=="End")
break;
if(isp==cnt)
{
cout<
#include
#include
#include
#include
using namespace std;
int main(int argc,char *argv[])
{
string str;
cin>>str;
cout<<"Hello "<
#include
#include
#include
#include
using namespace std;
int main(int argc,char *argv[])
{
int num,cnt{0},base{0};
cin>>num;
while(base
#include
#include
#include
#include
using namespace std;
int main(int argc,char *argv[])
{
int cnt;
cin>>cnt;
while(cnt--)
{
string tempstr;
int a,b;
cin>>tempstr>>a>>b;
if(a<15||a>20||b<50||b>70)
cout<
#include
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int m1, n1, m2, n2;
cin >> m1 >> n1;
vector> matrix1(m1, vector(n1));
for (int i = 0; i != m1; ++i)
for (int j = 0; j != n1; ++j)
cin >> matrix1[i][j];
cin >> m2 >> n2;
vector> matrix2(m2, vector(n2));
for (int i = 0; i != m2; ++i)
for (int j = 0; j != n2; ++j)
cin >> matrix2[i][j];
if (n1 != m2)
cout << "Error: " << n1 << " != " << m2 << endl;
else
{
cout << m1 << ' ' << n2 << endl;
for (int i = 0; i != m1; ++i)
for (int j = 0; j != n2; ++j)
{
int sum{0};
for (int t = 0; t != n1; ++t)
sum += matrix1[i][t] * matrix2[t][j];
cout << sum << (j == n2 - 1 ? '\n' : ' ');
}
}
return EXIT_SUCCESS;
}
#include
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int cnt, sum, isp;
cin >> cnt;
vector maxs(cnt + 1);
for (int i = 1; i <= cnt; ++i)
cin >> maxs[i], sum += maxs[i];
vector> book(cnt + 1);
isp = cnt;
int index{1};
while (isp)
{
for (int k = 1; k <= 10; ++k)
for (int i = 1; i <= cnt; ++i)
{
if (!maxs[i])
continue;
book[i].push_back(index++);
if (isp == 1)
++index;
if (k == 10)
{
--maxs[i];
if (!maxs[i])
--isp;
}
}
}
for (int i = 1; i <= cnt; ++i)
{
cout << "#" << i << endl;
for (decltype(book[i].size()) j = 0; j != book[i].size(); ++j)
{
cout << book[i][j];
if ((j + 1) % 10 == 0)
cout << endl;
else
cout << " ";
}
}
return EXIT_SUCCESS;
}
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int n, sp;
cin >> n >> sp;
--sp;
vector vec;
for (int i = 1; i <= n; ++i)
{
char ch = 'z' - sp % 26;
sp /= 26;
vec.push_back(ch);
}
for (auto i = vec.rbegin(); i != vec.rend(); ++i)
cout << *i;
return EXIT_SUCCESS;
}
倒着数记得减一,这样就是 0 对应着 zzz 了,一位一位算就是了。
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int a,b;
cin >> a >> b;
printf("%.2lf\n", a * b * 0.1);
return EXIT_SUCCESS;
}
print("2018\nwo3 men2 yao4 ying2 !")
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int a, b;
cin >> a >> b;
for (int i = 1; i <= a + b; ++i)
cout << "Wang!";
return EXIT_SUCCESS;
}
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
char ch;
int domin;
cin >> ch >> domin;
getchar();
vector> matrix(domin, vector(domin));
for (int i = 0; i != domin; ++i)
{
for (int j = 0; j != domin; ++j)
matrix[i][j] = getchar();
getchar();
}
bool isp = false;
for (int i = 0; i != domin / 2; ++i)
{
for (int j = 0; j != domin / 2; ++j)
if (matrix[i][j] != matrix[domin - i - 1][domin - j - 1])
{
isp = true;
break;
}
if (isp)
break;
}
if (!isp)
cout << "bu yong dao le" << endl;
for (int i = 0; i != domin; ++i)
{
for (int j = 0; j != domin; ++j)
{
int xi{domin - i - 1}, xj{domin - j - 1};
if (matrix[xi][xj] == '@')
cout << ch;
else
cout << ' ';
}
cout << endl;
}
return EXIT_SUCCESS;
}
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int a, b;
cin >> a >> b;
int s1, s2, s3;
cin >> s1 >> s2 >> s3;
int as = 3 - (s1 + s2 + s3);
int bs = 3 - as;
if ((a > b && as) || (a < b && as == 3))
cout << "The winner is a: " << a << ' ' << '+' << ' ' << as << endl;
else
cout << "The winner is b: " << b << ' ' << '+' << ' ' << bs << endl;
return EXIT_SUCCESS;
}
#include
using namespace std;
int main(int argc,char *argv[])
{
int cnt;
scanf("%d",&cnt);
char name[10001][10]{0};
int sum{0},isp[101]={0};
for(int index=1;index<=cnt;++index)
{
scanf("%s",name[index]);
int temp;
scanf("%d",&temp);
isp[temp]=index;
sum+=temp;
}
sum/=cnt;
sum>>=1;
printf("%d ",sum);
for(int i=0;;++i)
{
if(sum+i>=0&&sum+i<=100&&isp[sum+i])
{
printf("%s\n",name[isp[sum+i]]);
break;
}
else if(i&&sum-i>=0&&sum-i<=100&&isp[sum-i])
{
printf("%s\n",name[isp[sum-i]]);
break;
}
}
return EXIT_SUCCESS;
}
print("PTA shi3 wo3 jing1 shen2 huan4 fa1 !")
#include
#include
#include
using namespace std;
int main(int argc, char **argv)
{
string str;
getline(cin, str);
for (auto it = str.begin(); it != str.end(); ++it)
{
if (*it != '6')
cout << *it;
else
{
auto its = it;
while (its != str.end() && *its == '6')
++its;
auto sub{its - it};
if (sub <= 3)
{
for (int i = 1; i <= sub; ++i)
cout << '6';
}
else if (sub > 9)
cout << "27";
else
cout << '9';
it = its - 1;
}
}
return EXIT_SUCCESS;
}
#include
#include
#include
using namespace std;
int main(int argc, char **argv)
{
int cnt;
cin >> cnt;
cin.get();
while (cnt--)
{
string str;
getline(cin, str);
auto findex = str.find(',');
if (findex >= 3 && str.compare(findex - 3, 3, "ong") == 0)
{
if (str.compare(str.size() - 4, 3, "ong") == 0)
{
decltype(str.size()) findcnt{0}, findindex{str.npos};
for (auto i = str.size() - 1; i >= 0; --i)
if (str[i] == ' ')
{
++findcnt;
if (findcnt == 3)
{
findindex = i + 1;
break;
}
}
str.replace(findindex, str.size() - findindex - 1, "qiao ben zhong");
cout << str << endl;
continue;
}
}
cout << "Skipped" << endl;
}
return EXIT_SUCCESS;
}
如果你最后一个样例运行时错误,那么大概率是和我一样没有注意到题中并没有指出逗号前一定保证有三个字符……2333。
#include
#include
#include
using namespace std;
int main(int argc, char **argv)
{
int x, y;
cin >> x >> y;
int sp{5000};
sp -= (x * y / 2);
sp -= ((100 - x) * (100 - y) / 2);
sp -= (100 - x) * y;
cout << sp << endl;
return EXIT_SUCCESS;
}
整数就可以通过~
#include
#include
#include
using namespace std;
int main(int argc, char **argv)
{
double a, b;
cin >> a >> b;
auto p = a / (b * b);
printf("%.1lf\n", p);
if (p > 25)
cout << "PANG" << endl;
else
cout << "Hai Xing" << endl;
return EXIT_SUCCESS;
}
#include
#include
#include
using namespace std;
int main(int argc, char **argv)
{
int cnt;
cin >> cnt;
while (cnt--)
{
cin.get();
int temp1{0}, temp2{0};
for (int i = 1; i <= 3; ++i)
temp1 += cin.get() - '0';
for (int i = 1; i <= 3; ++i)
temp2 += cin.get() - '0';
if (temp1 == temp2)
cout << "You are lucky!" << endl;
else
cout << "Wish you good luck." << endl;
}
return EXIT_SUCCESS;
}
#include
#include
#include
using namespace std;
int main(int argc, char **argv)
{
int cnt;
cin >> cnt;
while (cnt--)
{
bool sex;
int h, w;
cin >> sex >> h >> w;
if (sex)
{
if (h < 130)
cout << "duo chi yu! ";
else if (h > 130)
cout << "ni li hai! ";
else
cout << "wan mei! ";
if (w < 27)
cout << "duo chi rou!" << endl;
else if (w > 27)
cout << "shao chi rou!" << endl;
else
cout << "wan mei!" << endl;
}
else
{
if (h < 129)
cout << "duo chi yu! ";
else if (h > 129)
cout << "ni li hai! ";
else
cout << "wan mei! ";
if (w < 25)
cout << "duo chi rou!" << endl;
else if (w > 25)
cout << "shao chi rou!" << endl;
else
cout << "wan mei!" << endl;
}
}
return EXIT_SUCCESS;
}
比较复杂的字符串模拟题,考场上栽在这里了
单独写了一篇题解:链接