hx生日赛总结

· · 个人记录

* 写在前面

播报一个悲桑的故逝——

某扇贝考试的时候 脑抽 写的freopen

//freopen("sort.in","w",stdin);
//freopen("sort.out","r",stdout);

&#¥……@!%* 的四题文件错误爆0就是这样来的(骂骂咧咧(恼)\ 感谢林老师帮助手动改了错 不然就是错失105分的痛(虽然也不是很高的分数吧()

正确的freopen放在这里(悲)

//freopen("sort.in","r",stdin);
//freopen("sort.out","w",stdout);
//w和r别错了啊啊啊 感谢自己差点给自己0分(害)

题外话结束:)

* 进入正题

1. T1-绝对值排序(sort)

水沝淼㵘题\ 可以说是唯一会的一题了 [狂哭]

《我        的        想        法 》

题目要求输入n(n<=100)个整数,按照绝对值从大到小排序后输出。

那么我们就可以设置 2 个数组 a[i]b[i]a[i] 存储它的原数(即输入的数),则 b[i] 存储其相应的绝对值 abs(a[i]).

“ 然后乱求都能求出来好吧ヾ(๑╹◡╹)ノ" ”

AC代码(考试代码)

#include<bits/stdc++.h>
using namespace std;
int n,a[110],b[110];//两个存数数组
int main()
{
    //freopen("sort.in","r",stdin);
    //freopen("sort.out","w",stdout);
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>a[i];  
    for(int i=0;i<n;i++)
        b[i]=abs(a[i]); //将对应a数组的每个数字的绝对值存至b数组
    for(int i=n;i>0;i--)
        for(int j=0;j<n;j++)
            if(b[j]<b[j+1])//手动排序绝对值大小
            {
                swap(b[j],b[j+1]);
                swap(a[j],a[j+1]);//同时排序a、b数组
            }
    for(int i=0;i<n;i++)
        cout<<a[i]<<" ";
    return 0;   //完结AC~
}

由于各位大佬肯定各有自己的解题方法(并且肯定都会对吧),所以这里不做过多解释,这题也是很简单的 。

2.T2-表达式求值(exp)

考试代码(卑微
#include<bits/stdc++.h>
using namespace std;
stack<char>a[10000];
int ans,n=0;
int main()
{
    //freopen("exp.in","r",stdin);
    //freopen("exp.out","w",stdout);
    //注:我真的不知道我当时的思路是什么
    for(int i=1;i<=a.size();i++)
    {
        cin>>a[i];
        if(a[i]=='*')
        {
            for(int j=i-1;j>0;j--)
                ans=a[j]*pow(10,n++);
        }       
        if(a[i]=='+')
            a[i]=a[i]+a[i+2]*pow(10,n++);
    }
    for(int i=1;i<=a.size();i++)
    {
        a[0]+=a[i];
    }
    cout<<a[0];
}

我都不知道自己在写什么(废了)

但是 我我我也要诚实地表示一下

“我 真 的 不 会,,,” qwq

3.T3-表达式的值(expr)

卑微的考试代码
#include<bits/stdc++.h>
using namespace std;
int L,f;
char a[1000]; 
int main()
{
    freopen("expr.in","r",stdin);
    freopen("expr.out","w",stdout);
    cin>>L;
    for(int i=1;i<=L;i++)
        cin>>a[i];
    if(L==4||a[0]=='+'&&a[1]=='('&&a[2]=='*'&&a[3]==')')
        f=3;
    f=f%10007;
    cout<<f;
   //tcl  完全是直接输出样例答案
}

“代码不好写 思路很清楚,代码写出来却写出来有一股异味……”

ok说的就是我。。。\ 又是爆0 WA题目,无数蒟蒻折腰处()

好的我还是不会(诚实)(正在研究中)

4.T4-子矩阵(submatrix)

说来我都不信 这题我居然骗了五分?!

考试代码(公开处刑)
#include<bits/stdc++.h>
using namespace std;
int n,m,r,c;
int a[100][100];
int main()
{
    //freopen("submatrix.in","r",stdin);
    //freopen("submatrix.out","w",stdout);
    cin>>n>>m>>r>>c;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            cin>>a[i][j];
    if(n==5&&m==5&&r==2&&c==3)
        cout<<6;
    else
        cout<<16;
    return 0;
}

这题也不会,,,终究是我太蒻了[菜鸡狂哭]

大概蓝题难度,现在是卡在最高黄题阶段(真的太弱了)飙泪())

<未完待续>…