第七届河南省程序设计大赛

http://acm.nyist.net/JudgeOnline/problem.php?pid=1248

 
#include<bits/stdc++.h>
using namespace std;
const int N=110;
const int inf=0x3f3f3f3f;
int e[N][N];
int main()
{
    int i,j,k,m,n;
    while(~scanf("%d%d",&n,&m))
    {
        memset(e,0x3f3f3f3f,sizeof(e));
        for(i=0;i<N;i++) e[i][i]=0;
        int a,b,c;
        for(i=0;i<m;i++)
        {
            scanf("%d%d%d",&a,&b,&c);
            e[a][b]=min(e[a][b],c);
            e[b][a]=min(e[b][a],c);
        }
        for(k=1;k<=n;k++)
        for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        if(e[i][k]<inf && e[k][j]<inf &&e[i][j]>max(e[i][k],e[k][j]))
        {
            e[i][j]=max(e[i][k],e[k][j]);
        }
        cin>>m;
        for(i=0;i<m;i++)
        {
            cin>>a>>b;
            if(e[a][b]==inf) cout<<"-1"<<endl;
            else cout<<e[a][b]<<endl;
        }
    }
}
        

http://acm.nyist.net/JudgeOnline/problem.php?pid=1249

 
#include<bits/stdc++.h>
using namespace std;
int dp[100100];
int main()
{
    int n,m,t,i,j,ans;
    scanf("%d",&t);
    while(t--)
    {
        int a,b,c,d,v;
        scanf("%d%d",&n,&v);
        memset(dp,0,sizeof(dp));
        dp[0]=1;
        for(i=0;i<n;i++)
        {
            scanf("%d",&a);
            for(j=v;j>=a;j--)
                dp[j]+=dp[j-a];
        }
        printf("%d\n",dp[v]);
    }
    return 0;
}
        

http://acm.nyist.net/JudgeOnline/problem.php?pid=1250

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b,ll &x,ll &y)
{
    if(b==0){
        x = 1;
        y = 0;
        return a;
    }
    ll g=gcd(b,a%b,x,y);
    ll tmp=x;
    x=y;
    y=tmp-(a/b)*y;
    return g;
}
bool is(ll a,ll b,ll c,ll d,ll g,ll x,ll y)
{
    for(int i = -2; i <= 2; ++i)
    {
        ll x1, y1;
        x1 = a+x/g*i;
        y1 = b-y/g*i;
        for(int j = -2; j <= 2; ++j)
        {
            ll x2, y2;
            x2 = c+x/g*j;
            y2 = d-y/g*j;
            if((x1+y2)%2 == 0 && (x2+y1)%2 == 0)
                return 1;
        }
    }
    return 0;
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        ll x,y,a,b,c,d,g,m,n;
        cin>>a>>b>>m>>n;
        g=gcd(a,b,x,y);
        if(m%g||n%g) puts("N");
        else if(is(x*(m/g),y*(m/g),x*(n/g),y*(n/g),g,a,b)) puts("Y");
        else puts("N");
    }
    return 0;
}

http://acm.nyist.net/JudgeOnline/problem.php?pid=1251

#include<bits/stdc++.h>
using namespace std;
const int imax=0x3f3f3f3f;
struct gg
{
    long long a;
}a[505];
long long b[505];
long long dp[505][505];
bool cmp(gg a,gg b)
{
    return a.a<b.a;
}
int main()
{
    int k;
    scanf("%d",&k);
    while (k--)
    {
        int n;
        scanf("%d",&n);
        for (int i=0;i<n;i++) scanf("%d",&b[i]),a[i].a=b[i];
        sort(a,a+n,cmp);
        for (int i=0;i<n;i++)
        {
            long long s=b[0]-a[i].a;
            dp[i][0]=abs(s);
        }
        for (int i=1;i<n;i++)
        {
            long long mmin=imax;
            for (int j=0;j<n;j++)
            {
                mmin=min(mmin,dp[j][i-1]);
                long long s=b[i]-a[j].a;
                s=abs(s);
                dp[j][i]=s+mmin;
            }
        }
        long long mmmm=imax;
        for (int i=0;i<n;i++) mmmm=min(mmmm,dp[i][n-1]);
        for (int i=1;i<n;i++)
        {
            long long mmin=imax;
            for (int j=n-1;j>=0;j--)
            {
                mmin=min(mmin,dp[j][i-1]);
                long long s=b[i]-a[j].a;
                s=abs(s);
                dp[j][i]=s+mmin;
            }
        }
        for (int i=0;i<n;i++) mmmm=min(mmmm,dp[i][n-1]);
        cout<<mmmm<<endl;
    }
}


http://acm.nyist.net/JudgeOnline/problem.php?pid=1252


http://acm.nyist.net/JudgeOnline/problem.php?pid=1253

 
#include<bits/stdc++.h>
using namespace std;
const int N=110;
const int inf=0x3f3f3f3f;
string s;
int main()
{
    while(cin>>s,s!="0+0=0")
    {
       int n=s.size(),i;
       int a=0,b=0,c=0;
       for(i=n-1;s[i]!='=';i--) a=a*10+s[i]-'0';
       for(i--;s[i]!='+';i--)   b=b*10+s[i]-'0';
       for(i--;i>=0;i--)        c=c*10+s[i]-'0';
       if(a==b+c) printf("TRUE\n");
       else printf("FALSE\n");
    }
    return 0;
}
        

http://acm.nyist.net/JudgeOnline/problem.php?pid=1254

未AC

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e2;
const int inf=0x3f3f3f3f;
int start,k;
char s[N];
int f[N];
int e[N][N];
int dfs(int i)
{
    int v,n;
    while(start!=strlen(s))
    {
        switch(s[start])
        {
            case ')':  {start++;return 0;}
            case ' ':  {start++;}
            case '(':
            {
                start++;
                sscanf(s+start,"%d%n",&v,&n);
                start+=n;
                if(i!=0) {e[v][i]=1;e[i][v]=1;f[i]++;f[v]++;}
                k++;
                dfs(v);
            }
        }
    }
}
int is(int n,int j)
{
    for(int i=1;i<=n;i++) if(e[i][j])   e[i][j]=0;
    for(int i=1;i<=n;i++) if(e[j][i])   {e[j][i]=0;return i;}
}
int main()
{
    int i,j;
    while(gets(s)&&s!="EOF")
    {
        memset(f,0,sizeof(f));
        memset(e,0,sizeof(e));
        start=0;k=0;
        dfs(0);
//        for(i=1;i<=k;i++) cout<<i<<" ";cout<<endl;
//        for(i=1;i<=k;i++) cout<<f[i]<<" ";cout<<endl;
//        for(i=1;i<=k;i++) {for(j=1;j<=k;j++) cout<<e[i][j]<<" ";cout<<endl;}
        for(i=0;i<k-1;i++)
        {
            for(j=1;j<=k;j++) if(f[j]==1) break;
            f[j]=inf;
            int b=is(k,j);f[b]--;
            if(i!=k-2) cout<<b<<" ";
            else       cout<<b;
        }
        cout<<endl;
    }
}

http://acm.nyist.net/JudgeOnline/problem.php?pid=1255

 
#include<bits/stdc++.h>
using namespace std;
const int N=110;
struct node{
int x,y;
}e[N];
int  dp[N];
bool cmp(node p1,node p2){
    if(p1.x==p2.x) return p1.y>p2.y;
    return p1.x>p2.x;
}
bool jud(node p1,node p2)
{
    if((p1.x<p2.x && p1.y<p2.y) || (p1.x==p2.x && p1.y<p2.y) || (p1.x<p2.x && p1.y==p2.y)) return true;
    return false;
}
int main()
{
int t;
int m,i,j,n;
scanf("%d",&t);
while(t--)
{
    scanf("%d",&n);
    int a,b;
    for(i=0;i<n;i++)
    {
    scanf("%d%d",&a,&b);
    if(a<b) swap(a,b);
    e[i].x=a;
    e[i].y=b;
    }
    sort(e,e+n,cmp);
    for(i=0;i<n;i++)
    {
    dp[i]=1;
    for(j=0;j<i;j++)
    {
        if(jud(e[i],e[j])) dp[i]=max(dp[i],dp[j]+1);
    }
    }
    int ans=0;
    for(i=0;i<n;i++)
    if(ans<dp[i]) ans=dp[i];
    printf("%d\n",ans);
}
return 0;
}
        


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
国际程序设计大赛的作品欣赏 1、 先来第一个: 一段纯 3D 的 DOS 动画,据说是获一等奖的作品。虽然它不是最精美的, 但是当你得知它只有 4K 时,会不会立刻疯死掉呢? 附件:3ddemo.com 2、 再来一个: 幽灵古堡 farb-rausche 64.0 KB (65,536 字节) 恰好 65536 字节,显然是参赛作品。它非常漂亮(利用了 Direct3D),更让人惊奇的是只有 64K!而更让人震惊的是,如果不压缩的话它的数据大小是 1.6G!再体会一次“奇迹”! 附件:castle.exe 3、 再来一个: 死亡阴影 64.0 KB (65,536 字节) 附件:death.exe 4、 火域幻境 73.0 KB (74,752 字节) 虽然大小超过了 64K 的限制,但是它的效果可称为程序中的艺术品了! 附件:fire.exe 5、 fr-016 farb-rausche 16 字节 (16 字节) Let's rock hard!一个 DOS 里的小动画。看上去似乎没有什么特别,但是如果看到它的大小(16 字节),什么感觉????? 附件:fr-016.com 6、 第七天堂 Exceed 64.0 KB (65,536 字节) 由于参赛的要求是在 64K 之内即可,不少参赛者未免会有不到 65536 字节就有吃亏的感觉。 这是个 恰好 64K 的作品,可能利用了 DirectX 引擎,效果很好。 附件:heaven7.exe 7、 金属迷城 6.00 KB (6,144 字节) 考虑到它的大小时,你会不会体会到奇迹的含义 附件:metal.exe 8、 我要重点推荐的是这个作品fr-041_debris.exe(177K),效果是这所有作品之中最好的,一般的电脑无法流畅运行,我认为你买电脑时 可以把它带上运行一下作为一款测试工具。 附件:fr-041_debris.exe 9、 这个作品的效果和以上作品比都可名列前矛(64K),效果很好 附件:kkino64.exe 10、 这个就是传说中的25万倍压缩作品,prophecy《彗星撞地球》(63.5K)2000年时的最经典力作!画面看着挺舒服。 附件:prophecy《彗星撞地球》.exe 11、 爱之记忆 12、 3D裸女 13、 卡通 14、 光影 15、 FAiRLiGHT 这是在《三角洲3大地勇士》光碟版中带有的一个DEMO,发行组织FAiRLiGHT完全用原代码写出的自己组织的DEMO演示程序, 竟然才15K大小,画面也还行,对于他们的技术我们只能感到折服!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值