零点工作室暑假集训(AtCoder--ABC237)

A - Not Overflow

题意: 给定一个整数N。如果N在-231和231-1(包括边界)之间,打印"Yes";否则,打印"No"。

思路: 直接输出即可

AC代码

#include<bits/stdc++.h>

using namespace std;

typedef long long LL;

const int N = 110, INF = 0x3f3f3f3f, mod = 998244353;

LL n;

int main()
{
    cin >> n;
    
    if (n >= -2147483648 && n < 2147483648) cout << "Yes" << endl;
    else cout << "No" << endl;
}

B - Matrix Transposition

题意:给定一个H × W的矩阵A。
A中从上到下的第i行和从左到右的第j列的元素为Ai,j。
令B为一个W × H的矩阵,B中从上到下的第i行和从左到右的第j列的元素等于Aj,i。
换句话说,B是A的转置。
打印B矩阵。

思路:有点线性代数的味道了0.0,就是行和列交换一下位置即可

#include<bits/stdc++.h>

using namespace std;

typedef long long LL;

const int N = 100010, INF = 0x3f3f3f3f, mod = 998244353;

vector<int> G[N];

int main()
{
    int n, m;
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
    {
        G[i].push_back(0);
        for (int j = 1; j <= m; j++)
        {
            int a;
            cin >> a;
            G[i].push_back(a);
        }
    }
    for (int i = 1; i <= m; i++)
    {
        for (int j = 1; j <= n; j++)
            cout << G[j][i] << " ";
        cout << endl;
    }
    return 0;
}

C - kasaka

题意: 给定一个由小写英文字母组成的字符串S。判断在S的开头添加若干个’a’(可能为零)是否可以使其成为回文字符串。这里,对于长度为N的字符串A=A1A2…AN,当对于所有1≤i≤N都有Ai=AN+1−i时,称其为回文字符串。

思路: 其实就是判断后导a的数量要大于当前的前导a

AC代码

#include<bits/stdc++.h>

using namespace std;

typedef long long LL;

const int N = 100010, INF = 0x3f3f3f3f, mod = 998244353;

int main()
{
 
    string str;
    cin >> str;
    LL x = 0;
    while (str.size() > 0 && str.back() == 'a')
    {
        str.pop_back();
        x ++;
    }
    LL y = 0;
    
    reverse(str.begin(), str.end());
    
    while (str.size() > 0 && str.back() == 'a')
    {
 
        str.pop_back();
        y ++;
    }
    
    string res = str;
    
    reverse(res.begin(), res.end());
    
    if (res == str && x >= y) cout << "Yes" << endl;
    else cout << "No" << endl;
    
    return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值