nyoj 1038 纸牌游戏

2024-09-08 08:58
文章标签 游戏 nyoj 纸牌 1038

本文主要是介绍nyoj 1038 纸牌游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 poj 的一道改编题,说是翻译题更恰当,因为只是小幅度改动。

一道模拟题,代码掌控能力比较好,思维逻辑清晰的话就能AC。

代码如下:

 
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{char c[5];int rk;char da[5];int num;
}s[4][15];bool cmp(node a,node b)
{if(a.rk==b.rk) return a.num<b.num;return a.rk>b.rk;
}int main()
{//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);char s1[150],s2[60],s3[2];while(~scanf("%s",s3)){scanf("%s%s",s1,s2);strcat(s1,s2);for(int i=0,j=0,cnt1=0;i<104;i+=2){s[j][cnt1].c[0]=s1[i+1];if(s1[i+1]=='C')      s[j][cnt1].rk=4;else if(s1[i+1]=='D') s[j][cnt1].rk=3;else if(s1[i+1]=='S') s[j][cnt1].rk=2;else if(s1[i+1]=='H') s[j][cnt1].rk=1;s[j][cnt1].da[0]=s1[i];if(s1[i]>='2'&&s1[i]<='9') s[j][cnt1].num=s1[i]-'0';else if(s1[i]=='A') s[j][cnt1].num=14;else if(s1[i]=='T') s[j][cnt1].num=10;else if(s1[i]=='J') s[j][cnt1].num=11;else if(s1[i]=='Q') s[j][cnt1].num=12;else if(s1[i]=='K') s[j][cnt1].num=13;j++;if(j%4==0)cnt1++;j%=4;}for(int i=0;i<4;i++)sort(s[i],s[i]+13,cmp);int mark,i,sum;if(s3[0]=='S') mark=3;else if(s3[0]=='W') mark=2;else if(s3[0]=='N') mark=1;else  mark=0;for(sum=1;sum<5;sum++){if(sum==1) printf("East player:\n");else if(sum==2) printf("South player:\n");else if(sum==3) printf("West player:\n");else  printf("North player:\n");printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");for(int k=0;k<13;k++)printf("|%s %s|",s[mark][k].da,s[mark][k].da);printf("\n");for(int k=0;k<13;k++)printf("| %s |",s[mark][k].c);printf("\n");for(int k=0;k<13;k++)printf("|%s %s|",s[mark][k].da,s[mark][k].da);printf("\n");printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");mark++;mark%=4;}printf("\n");}return 0;
}        


这篇关于nyoj 1038 纸牌游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147674

相关文章

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

第四次北漂----挣个独立游戏的素材钱

第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以考虑入职,是因为 1,该公司有恒歌科技的freex平台源码,可以学学,对以前不懂的解解惑。 2,挣点素材钱,看看张亮002的视频,他用了6000多,在虚幻商城买的吸血鬼游戏相关的素材,可以玩两年。我

nyoj 288 士兵杀敌(五)

一道插线问线离线版的题  复杂度O(n); 代码如下: #include<stdio.h>#include<string.h>const int M = 1000003;const int mod=10003;int num[M];int main(){int n,c,q;scanf("%d%d%d",&n,&c,&q);while(c--){int a,b,x;scan

nyoj 1037 Postscript of Tian Ji racing

一道卡贪心的题。 也算一道改编题。 此题的解法推荐为二分图的最大匹配。 首先将输入数据转换一下,然后将满足题意的一组牌建立条边,最终边的覆盖数即为 LN 最后可得的分数。 然后求出最大匹配即可。 代码如下: #include<stdio.h>#include<string.h>char card[30][5];char s[5];int map[30][30];

nyoj 1002 Trucking

同样一道改编题。 只要把题意理解了好。 简单的二分加最短路。 只要二分高度, 然后求最短路,输出满足题意的即可。 代码如下: (最短路用spfa 时间效率高) #include <iostream>#include <cstdio>#include <cstring>#include <ctime>#include <queue>using namespace st

nyoj 1072 我想回家

一道相当题目描述相当扯的题。 这道题目的描述最后说的是求出到达最后一个点的最短距离,所以输入数据最后输入的城堡的坐标是没用的。 就是先求出两点之间的距离,若不大于村落间距离,并且不大于最后的距离限制 l ,则在两点间建边。 最后任意方法求出最短路即可。 #include <iostream>#include<stdio.h>#include<vector>#include<

nyoj 685 查找字符串

当初一开始没做出来。 后来,学习过一段时间之后,在返回来做这道题,忽然发现,map类容器可以做。 PS:需要注意的是:此题如果用c++的输入输出的话,会超时。 O(time):gets()<  scanf() < cin。   附上代码: #include<stdio.h>#include<map>#include<string>#include<string.h>usin

纸牌函数生成器

此模板用来生成纸牌类的测试数据,本人手打,不合理或缀余的地方希望大神指出。 T=10000(测试数据组数), t (两摞相等的牌,每摞牌的数量); 每张牌用A,2~9,T,J,Q,K;表示牌面大小; 用S,H,C,D;表示花色。 共52张牌。 #include<stdio.h>#include<time.h>#include<stdlib.h>#include<string.