Jimmy_Lian

Jimmy_Lian

qwq

csp2020s-HA

posted on 2020-11-09 21:45:41 | under 未分类 |

只是正好闲着无聊,又有代码和统计器,搞了下这个活。

作者本人不是ha的,也没考s组,但是有人发了他们的代码,我就顺便看看了,正好警醒自己免得以后犯这种错误。

感谢@囧仙 提供的统计器和@gongjianhi 提供的源代码。

还有我是懒得放截图上传了,太累

不过自己动手是真的好玩

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<cmath>
#include<string>
#include<cstring>
#include<set>
using namespace std;

int main(){
    freopen("call.in","r",stdin);
    freopen("call.out","w",stdout);
    int n,sinn[100000],m,t[10000],p[1000],v[1000];
    cin>>n;
    for(int i=0;i<=n;i++) cin>>sinn[i];
    if(n==3) printf("6 8 12");
    if(n==10) printf("36 282 108 144 180 216 504 288 324 360");
   if(n==100000)printf("//接大样例,略
   return 0;
    fclose(stdin);
    fclose(stdout);

}

大 样 例 人

还有五个一个毛病的,略之

#include<bits/stdc++.h>
using namespace std;
int x[100000]={1,27,23,略
int w[100000]={1,9,6,略
int z[100000]={1,4711,略

int main()
{

    freopen("julian.in","r",stdin);
    freopen("julian.out","w",stdout);
    int n,q,p,d,m,y,bc;
    int s;cin>>s;
    for(int j=1;j<=s;j++)
    {
    cin>>n;
    if(n>1000)
    {
        q=n%1000;
        p=n/1000;
        d=x[p],m=w[p],y=z[p],bc=1;
        if(n>1721388)bc=0;
    }
    else d=1,m=1,y=4713,bc=1,q=n;
    for(int i=1;i<=q;i++)
    {
        if(y==1582&&m==10&&d==5)d=14;
        if(y==0){y=1;bc=0;}
        if(bc==1)
        {
            if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
                if(d<31)d++;
                else if(m<12){m++;d=1;}
                     else {y--;m=1;d=1;}
            else if(m==4||m==6||m==9||m==11)
                if(d<30)d++;
                else if(m<12){m++;d=1;}
                     else {y--;m=1;d=1;}
            else if(m==2)
                if((y+3)%400==0||((y+3)%4==0)&&(y+3)%100!=0)
                    if(d<29)d++;
                    else if(m<12){m++;d=1;}
                         else {y--;m=1;d=1;}
                else if(d<28)d++;
                    else if(m<12){m++;d=1;}
                         else {y--;m=1;d=1;}
        }
        else
        {
            if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
                if(d<31)d++;
                else if(m<12){m++;d=1;}
                     else {y++;m=1;d=1;}
            if(m==4||m==6||m==9||m==11)
                if(d<30)d++;
                else if(m<12){m++;d=1;}
                     else {y++;m=1;d=1;}
            if(m==2)
                if((y+3)%400==0||((y+3)%4==0)&&(y+3)%100!=0)
                    if(d<29)d++;
                    else if(m<12){m++;d=1;}
                         else {y++;m=1;d=1;}
                else if(d<28)d++;
                    else if(m<12){m++;d=1;}
                         else {y++;m=1;d=1;}
        }
    }
    cout<<d<<" "<<m<<" "<<y;
    if(bc==1)cout<<" BC"<<endl;
    else cout<<endl;
    }
    return 0;
}

打 表 不 看 长 度 限 制 人

#include <cstdio>
#include <algorithm>

using namespace std;

int main() {

    return 0;
}

我 要 你 这 个 干 啥

#include<bits/stdc++.h>
using namespace std;
long long n, m1, d, m, y = 4713, flag = 0;
string cen;
void pd() {
    if (m == 1) if (d > 31) d = 1, m ++;
    if (m == 2) if (d > 28) d = 1, m ++;
    if (m == 3) if (d > 31) d = 1, m ++;
    if (m == 4) if (d > 30) d = 1, m ++;
    if (m == 5) if (d > 31) d = 1, m ++;
    if (m == 6) if (d > 30) d = 1, m ++;
    if (m == 7) if (d > 31) d = 1, m ++;
    if (m == 8) if (d > 31) d = 1, m ++;
    if (m == 9) if (d > 30) d = 1, m ++;
    if (m == 10) if (d > 31) d = 1, m ++;
    if (m == 11) if (d > 30) d = 1, m ++;
    if (m == 12) if (d > 31) d = 1, m ++;
}
void pdr() {
    if (m == 1) if (d > 31) d = 1, m ++;
    if (m == 2) if (d > 29) d = 1, m ++;
    if (m == 3) if (d > 31) d = 1, m ++;
    if (m == 4) if (d > 30) d = 1, m ++;
    if (m == 5) if (d > 31) d = 1, m ++;
    if (m == 6) if (d > 30) d = 1, m ++;
    if (m == 7) if (d > 31) d = 1, m ++;
    if (m == 8) if (d > 31) d = 1, m ++;
    if (m == 9) if (d > 30) d = 1, m ++;
    if (m == 10) if (d > 31) d = 1, m ++;
    if (m == 11) if (d > 30) d = 1, m ++;
    if (m == 12) if (d > 31) d = 1, m ++;
}
int main() {
    freopen("julian3.in","r",stdin);
    freopen("julian.out","w",stdout);
    cin >> m1;
    cen = "BC";
    while (m1 --) {
        y = 4713, flag = 0, m = 1, d = 1;
        cin >> n;
        while (n--) {
            if (y == 0) {
                flag = 1;
                y = 1;
            }
            if (!flag) {
                d ++;
                if ((y - 1) % 4 == 0) {
                    pdr();
                    if (m == 13) {
                        y --;
                        m = 1;
                    }

                } else {
                    pd();
                    if (m == 13) {
                        y --;
                        m = 1;
                    }

                }
            } else {
                d ++;
                if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) {
                    pdr();
                    if (m == 13) {
                        y ++;
                        m = 1;
                    }

                } else {
                    pd();
                    if (m == 13) {
                        y ++;
                        m = 1;
                    }

                }

            }
        }
        if (!flag) {
            cout << d << ' ' << m << ' ' << y << ' ' << cen << endl;
        } else cout << d << ' ' << m << ' ' << y << endl;
    }

    return 0;
}

弄 完 大 样 例 没 改 回 来 人

#include<bits/stdc++.h>
using namespace std;
int t,m;
int main()
{
    freopen("snakes.in","r",stdin);
    freopen("snakes.out","w",stdout);
    cin>>t>>m;
    srand(time(NULL));
    for(int i=1;i<=t;i++)
    {
        cout<<rand()%(m+1)<<endl;
    }
    return 0;
}

随 机 数 人

//就拿50分吧,太难了...... 
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int MAXN=100005;
long long r[MAXN];
long long year=-4713,moon=1,day=1;
int every[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int Q;
int main(){
    freopen("julian.in","r",stdin);
    freopen("julian.out","w",stdout);
    scanf("%d",&Q);
    for(int i=1;i<=Q;i++){
        scanf("%lld",&r[i]);
        day+=r[i];
        long long hou=0;
        if(r[i]<1721423){
            year+=((day)/1461)*4;
            day%=1461;
            if(day>366)day-=366,year++;
            if(day>365)day-=365,year++;
            if(day>365)day-=365,year++;
            bool yes=0;
            if((year+1)%4==0)yes=1,every[2]++;
            for(int k=1;k<=12;k++){
                if(day<=every[k])break;
                day-=every[k];
                moon++;
            }
            if(yes)every[2]--;
            year=-year;
            printf("%lld %lld %lld BC\n",day,moon,year);
            day=1;moon=1;year=-4713;
        }
        else{
            day-=1721423;
            moon=1;year=1;
            //577737:1 1 1-4 10 1582
            if(day<=577737){
                year+=(day/1461)*4;
                day%=1461;
                if(day>365)day-=365,year++;
                if(day>365)day-=365,year++;
                if(day>365)day-=365,year++;
                bool yes=0;
                if((year+1)%4==0)yes=1,every[2]++;
                for(int k=1;k<=12;k++){
                    if(day<=every[k])break;
                    day-=every[k];
                    moon++;
                }
                if(yes)every[2]--;
                printf("%lld %lld %lld\n",day,moon,year);
                day=1;moon=1;year=-4713;
            }
        }
    }
    return 0;
}
//2 1 4713 BC为第一天; 
//4 10 1582为猪掠历,判断闰年只需是4的倍数; 
//5 10 1582-14 10 1582(10天)不存在; 
//15 10 1582为现在的日历; 
//公元前(4n+1(n属于N))年为闰年; 
//没有公元0年; 
//平年365天,闰年366天; 
//公元前共有4713年; 
//公元前共有(1178*1461+365)即1721423天; 
//max(MAXN)为10^5,O(n^2)不可能; 
//max(r_i)为10^9,数学题...... 

写 题 解 人

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define ll long long 
#define rg register
using namespace std;
int sread()
{
    int x=0,f=1;char c=getchar();
    while(c>'9'||c<'0') {if(c=='-') f=-1;c=getchar();}
    while(c<='9'&&c>='0') {x=x*10+c-'0';c=getchar();}
    return f*x;
}
int a[100000000];
int turn1[100000000],ord[3000][2000];
int n,m,Q;
int aa[10000],bb[10000],cc[100000],dd[100000];int h[1000];
void fx1(int);
void fx2(int);
void fx3(int);
int main()
{
    freopen("call.in","r",stdin);
    freopen("call.out","w",stdout);
    n=sread();
    for(rg int i=1;i<=n;++i)
        a[i]=sread();
    m=sread();int num;
    for(rg int i=1;i<=m;++i)
    {
        h[i]=sread();num=h[i];
        if(num==1) 
        {
            aa[i]=sread();   bb[i]=sread();
        }
        else if(num==2) 
        {
            cc[i]=sread();
        }
        else if(num==3)
        {
            dd[i]=sread();
            for(rg int j=1;j<=dd[i];++j)
            {
                ord[i][j]=sread();
            }
        }
    }
    Q=sread();
    for(rg int i=1;i<=Q;++i)
    {
        turn1[i]=sread();
    }

    for(rg int i=1;i<=Q;++i)
    {
        if(h[turn1[i]]==1) fx1(turn1[i]);
        else if(h[turn1[i]]==2) fx2(turn1[i]);
        else if(h[turn1[i]]==3) fx3(turn1[i]);
    }
    if(n==10&&m==8&&Q==3&&turn1[2]==2&&turn1[3]==3)
    {
        printf("36 282 108 144 180 216 504 288 324 360\n");return 0;
    }
    for(int i=1;i<=n;++i)
    {
        printf("%d ",a[i]);
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}

void fx1(int i)
{
    a[aa[i]]+=bb[i];
}

void fx2(int i)
{
    for(rg int e=1;e<=n;++e)
    {
        a[e]*=cc[i];
    }
}

void fx3(int i)
{
    for(int e=1;e<=dd[i];++e)
    {
        if(ord[i][e]==1) fx1(1);
        else if(ord[i][e]==2) fx2(2);
        else if(ord[i][e]==3) fx3(3);
    }
}

您 是 想 炸 掉 c c f 评 测 姬 吗

等n个爆空间人

#include<bits/stdc++.h>
using namespace std;
#define inf 100010
#define ll long long
struct q{
    int g;
    int h;
}t[inf];
int n,m,ti;
ll a[inf],tt[inf];
int main()
{
    //freopen("call.in","r",stdin);
    //freopen("call.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++)
//这人主程序蛮长,不放了

注 释 freopen 人


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

int n;
int a[100010];

int main()
{
    freopen("julian.in","r","stdin");
    freopen("julian.out","w","stdout");
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }

    略

" s t d i n"

#include<bits/stdc++.h>
using namespace std;
int main()
{
    freopen("snakes.in","r",stdin);
    freopen("snakes.out","w",stdout);
    int t,n[1000000],a[10000000];
    cin<<t;
    for(int i=1;i<=t;i++) cin>>n[i]>>a[i];
    cout<<3<<endl<<1;
    return 0;
}

c i n < < 人

#include<bits/stdc++.h>
using namespace std;
int wyh()
{
    int x=0,f=1;char c=getchar();
    while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
    while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    return f*x;
}
int pm[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},
    rm[13]={0,31,29,31,30,31,30,31,31,30,31,30,31},
    ppm[13]={0,31,28,31,30,31,30,31,31,30,21,30,31};
int m,r,y=-4713,d;
int main()
{
    freopen("julian.in","r",stdin);
    freopen("julian.ans","w",stdout);
    int n;  scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        r=wyh();
        while(r)
        {
            if(y%4!=-1&&y<=-1)
            {
                if(r>=365)
                {
                    r=r-365;
                    y++;        
                }
                else if(r<365)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-pm[j];
                        if(r<=0)
                        {
                            m=j;d=r+pm[j]+1;r=0;break;
                        } 
                    }
                }
            }
            if(y==-1)
            {
                if(r>=366)
                {
                    r=r-366;
                    y=y+2;
                }
                else if(r<366)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-rm[j];
                        if(r<=0)
                        {
                            m=j;d=r+rm[j]+1;r=0;break;
                        } 
                    }
                }
            }
            if(y%4==-1&&y<=-1)
            {
                if(r>=366)
                {
                    r=r-366;
                    y++;
                }
                else if(r<366)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-rm[j];
                        if(r<=0)
                        {
                            m=j;d=r+rm[j]+1;r=0;break;
                        } 
                    }
                }
            }
            if(y%4!=0&&y<1582&&y>=1)
            {
                if(r>=365)
                {
                    r=r-365;
                    y++;        
                }
                else if(r<365)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-pm[j];
                        if(r<=0)
                        {
                            m=j;d=r+pm[j]+1;r=0;break;
                        } 
                    }
                }
            }
            if(y%4==0&&y<1582&&y>=1)
            {
                if(r>=366)
                {
                    r=r-366;
                    y++;
                }
                else if(r<366)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-rm[j];
                        if(r<=0)
                        {
                            m=j;d=r+rm[j]+1;r=0;break;
                        } 
                    }
                }
            }
            if(y==1582)
            {
                if(r>=365)
                {
                    r=r-365;
                    y++;        
                }
                else if(r<365)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-ppm[j];
                        if(r<=0)
                        {
                            m=j;d=r+ppm[j]+1;r=0;break;
                        } 
                    }
                }
            }
            if((y%4!=0||y%100==0)&&y>1582)
            {
                if(r>=365)
                {
                    r=r-365;
                    y++;        
                }
                else if(r<365)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-pm[j];
                        if(r<=0)
                        {
                            m=j;d=r+pm[j]+1;r=0;break;
                        } 
                    }
                }
            }   
            if(y>1582&&((y%4==0&&y%100!=0)||r%400==0))
            {
                if(r>=366)
                {
                    r=r-366;
                    y++;
                }
                else if(r<366)
                {
                    for(int j=1;j<=12;j++)
                    {
                        r=r-rm[j];
                        if(r<=0)
                        {
                            m=j;d=r+rm[j]+1;r=0;break;
                        } 
                    }
                }
            }
        }           
        if(y<0)
        printf("%d %d %d BC\n",d,m,-y);
        else printf("%d %d %d\n",d,m,y);
        y=-4713;
    }
    fclose(stdin);fclose(stdout);
}

标 准 答 案 人

#include<bits/stdc++.h>
using namespace std;
int main(){
    freopen("call.in","r",stdin);
    freopen("call.out","w",stdout);
    cout<<"csp rp++"<<endl;
    return 0;
}

迷 信 人

#include <bits/stdc++.h>
using namespace std;
int main(){
    freopen("snake.in", "r", stdin);
    freopen("snake.out", "w", stdout);
    int t;
    cin >> t;
    int n;
    cin >> n;
    int a[n];
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    cout << 1;
    return 0;
}

单 数 人 + 没 事 非 要 读 数 人

有3-4个人写了单数。

// 1178 1720245 1721423
// 383 577430 577813
// 2299236
// 277
// 2299513/2298525
// 2299527
// 2299525
#include<bits/stdc++.h>
#define ll long long

using namespace std;

int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int Q;

int main()
{
    freopen("julian.in","r",stdin);
    freopen("julian.out","w",stdout);

    cin>>Q;
    for(int i=0;i<Q;i++)
    {
        ll tmp;
        cin>>tmp;
        略
//              day%=365;
//          }
////            cout<<day<<" "<<year<<" nmsl"<<endl;//*
//              
略

问 候 出 题 人 调 试 法

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#define ull unsigned long long
#define DUBUG(N,S) cerr<<"N:"<<S<<endl;
#define TEST cerr<<"test"<<endl;
using namespace std;
ull n,k,m,c;
int ciliao[21];
int kkk[20];
int pet[6];
ull has;
int main(){
    freopen("zoo.in","r",stdin);
    freopen("zoo.out","w",stdout);
    cin>>n>>m>>c>>k;
    for(int i=1;i<=n;++i){
        cin>>pet[i];
        has |= pet[i];
    }
    for(int i=1;i<=m;++i){
        int p,q;
        cin>>p>>q;
        if(((1<<(p))&1)==true){
            kkk[p]=2;
        }else{
            kkk[p]=1;
        }
    }
    ull ans=1;
    for(int i=0;i<=k;++i){
        if(kkk[i]==0)kkk[i]=2;
        ans*=kkk[i];
    }
    cout<<ans-n<<endl;
    return 0;
}

3k:???

有些文件名都打错的我就懒得管了

只是一些很小的肉眼可见的错误而已啊……

为什么没有辱骂出题人的呢……