SDUT 2023 summer team contest(for 22) - 5

E - Easy Math Problem

 恶心至极!!!!凭什么n*6%6==0😭     土立土及样例

#include <bits/stdc++.h>
using namespace std;

int main()
{
    long long t,n,ans=0;
    cin>>t;
    while(t--)
    {
        cin>>n;
        if(n%6==0) n/=6;
        ans=n*6;
        cout<<ans<<" "<<"3"<<endl;
        cout<<1*n<<" "<<2*n<<" "<<3*n<<endl;
    }
    return 0;
}

I - Takeaway

纯纯签到题 就是英文体面看到长的就不想看,每次都是好多人出了看榜才发现是签到题 

#include <bits/stdc++.h>
using namespace std;

#define int long long
#define xx first
#define yy second
typedef pair<int, int> PII;
const int inf = 0x3f3f3f3f;
const int N = 1e6 + 10;

int n, m, k, x, t, T;

void ClearFloat()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
}
void solved()
{
    cin >> n;
    int v[8] = {0, 7, 27, 41, 49, 63, 78, 108};
    int sum = 0;
    for (int i = 1; i <= n; i++)
    {
        cin >> x;
        sum += v[x];
    }
    // cout << " sum " << sum << endl;
    if (sum >= 69 && sum < 89)
        cout << sum - 15 << endl;
    else if (sum < 120 && sum >= 89)
        cout << sum - 30 << endl;
    else if (sum >= 120)
        cout << sum - 50 << endl;
    else
        cout << sum << endl;
}
signed main()
{
    ClearFloat();
    cin >> T;
    while (T--)
    {
        solved();
    }
    return 0;
}

K - City

#include <bits/stdc++.h>
using namespace std;

#define int long long
#define xx first
#define yy second
typedef pair<int, int> PII;
const int inf = 0x3f3f3f3f;
const int N = 1e6 + 10;

int n, m, k, x, t, T;
int q, p[N], s[N], ans[N];
void ClearFloat()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
}
struct node
{
    int u, v, w;
} f[N];
bool cmp(node a, node b)
{
    return a.w > b.w;
}
struct nodee
{
    int w, id;
} v[N];
bool cmpp(nodee a, nodee b)
{
    return a.w > b.w;
}
int find(int x)
{
    if (p[x] != x)
        p[x] = find(p[x]);
    return p[x];
}
signed main()
{
    ClearFloat();
    cin >> T;
    while (T--)
    {
        memset(ans, 0, sizeof ans);
        cin >> n >> m >> q;
        for (int i = 1; i <= m; i++)
            cin >> f[i].u >> f[i].v >> f[i].w;
        for (int i = 1; i <= q; i++)
            cin >> v[i].w, v[i].id = i;
        sort(f + 1, f + 1 + m, cmp);
        sort(v + 1, v + 1 + q, cmpp);
        for (int i = 1; i <= n; i++)
            p[i] = i, s[i] = 1;
        int sum = 0, j = 1;
        for (int i = 1; i <= q; i++)
        {
            int ct = v[i].w;
            while (j <= m && ct <= f[j].w)
            {
                int a = find(f[j].u);
                int b = find(f[j].v);
                if (a != b)
                {
                    sum += s[a] * s[b];
                    p[a] = b;
                    s[b] += s[a];
                }
                j++;
            }
            // cout << v[i].id << endl;
            ans[v[i].id] = sum;
            //   cout << sum << endl;
        }
        for (int i = 1; i <= q; i++)
            cout << ans[i] << endl;
    }
    return 0;
}

M - Master of Shuangpin

 我的队友就是打表之王

#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
#define int long long
typedef pair<int, int> PII;
int n, m, k;
int T;
map<string, string> mp;

signed main()
{
    //
    mp["iu"] = "q", mp["en"] = "f";
    mp["ei"] = "w", mp["eng"] = "g";
    mp["ang"] = "h", mp["uan"] = "r";
    mp["an"] = "j", mp["ue"] = "t";
    mp["uai"] = "k", mp["ing"] = "k";
    mp["un"] = "y", mp["uang"] = "l";
    mp["iang"] = "l", mp["sh"] = "u";
    mp["ou"] = "z", mp["ch"] = "i";
    mp["ia"] = "x", mp["ua"] = "x";
    mp["uo"] = "o", mp["ao"] = "c";
    mp["ie"] = "p", mp["zh"] = "v";
    mp["ui"] = "v", mp["in"] = "b";
    mp["ong"] = "s", mp["iong"] = "s";
    mp["iao"] = "n", mp["ai"] = "d";
    mp["ian"] = "m";
    mp["q"] = "q", mp["f"] = "f";
    mp["w"] = "w", mp["g"] = "g";
    mp["e"] = "e", mp["h"] = "h";
    mp["r"] = "r", mp["j"] = "j";
    mp["t"] = "t", mp["k"] = "k";
    mp["y"] = "y", mp["l"] = "l";
    mp["u"] = "u", mp["z"] = "z";
    mp["i"] = "i", mp["x"] = "x";
    mp["o"] = "o", mp["c"] = "c";
    mp["p"] = "p", mp["v"] = "v";
    mp["a"] = "a", mp["b"] = "b";
    mp["s"] = "s", mp["n"] = "n";
    mp["d"] = "d", mp["m"] = "m";

    string s;
    while (getline(cin, s))
    {
        int x = s.size();
        string s1 = "";
        for (int i = 0; i <= x; i++)
        {
            if (i == x || s[i] == ' ')
            {
                if (s1.size() == 1)
                    cout << s1[0] << s1[0];
                else if (s1.size() == 2)
                    cout << s1;
                else if(mp[s1]!="")
                {
                    cout << s1[0] << mp[s1];
                }
                else
                {
                    string s2 = "";
                    int f = 0, cnt = 0;
                    for (int j = 0; j < s1.size() - 1; j++)
                    {
                        s2 += s1[j];
                        if (mp[s2] != "")
                        {
                            cnt = j + 1;
                        }
                        string s3 = "";
                        for (int k = cnt; k < s1.size(); k++)
                        {
                            s3 += s1[k];
                        }
                        if (mp[s3] == "")
                            continue;
                        else
                            {
                                cout << mp[s2] << mp[s3];
                                break;
                            }
                    }
                }
                if (i == x)
                    cout << "\n";
                else
                    cout << " ";
                s1 = "";
            }
            else
                s1 += s[i];
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值