Source Code 湘潭大学 c语言程序设计答案(5)

2018-11-27 18:45

Source Code

Problem: 1044 User: 2009551233 Memory: 1000K Time: 15MS Language: C++ Result: Accepted

Source Code

#include using namespace std; int po[1000][1000]; int lo[1000];

bool flag[1000]={false}; int main() {

int ca; cin>>ca; while(ca--) {

int n; cin>>n;

for(int i=0;i

flag[i]=true;

for(int j=0;j

cin>>po[i][j]; if(po[i][j]==0)

po[i][j] = 99999999; } }

flag[0]=false; int k=0,sun(0); for(int i=1;i

int temp=99999999; for(int j=1;j

if(flag[j]&&lo[j]

temp = lo[j];k=j;

21

} }

sun+=temp; flag[k]=false;

for(int j = 1;j < n; j++)

if(flag[j]&&po[k][j]

cout<

11.一个小游戏

Acceteped : 236 Submit : 525

Time Limit : 1000 MS Memory Limit : 65536 KB

Description

n个人排成一个圆圈,从第一个人开始,先按顺时针方向,数m,数到m的人退出圆圈,然后从原有方向的下一个人开始,按原来顺序的反方向继续数m,依次数数,直到只剩最后一个人为止。比如有5个人,数3,则依次出去的人为3,1,4,5,2,最后的人是2号。现已知n和m,请问最后一个人的编号是多少? 输入

输入数据的第一行为一个整数k,1<=k<=100,表示测试用例的个数。以后每行是两个正整数n,m,1<=n,m<=1000。 输出

输出最后人的编号,每个用例输出一行。

Sample Input 2 5 3 5 2

Sample Output 2

Source Code

Problem: 1051 User: 2009551233

22

Memory: 924K Time: 796MS Language: C++ Result: Accepted

Source Code

#include using namespace std; bool po[10000]; int main() {

int ca; cin>>ca; while(ca--) {

memset(po,false,sizeof(po)); int n,b; cin>>n>>b; bool flag=false; int k=0,j(1),temp=n; while(--temp) {

k=1;

flag=!flag; while(k!=b) {

if(flag) {

if(j==n) j=1; else j++; if(!po[j]) { k++; } } else {

if(j==1) j=n; else j--;

if(!po[j]) { k++; }

23

} }

po[j]=true;

// cout<

for(int i=1;i<=n;i++) {

if(!po[i])

cout<

return 0; }

12.数字序列

Acceteped : 314 Submit : 781

Time Limit : 1000 MS Memory Limit : 65536 KB

Description

某一个数字集合定义如下:

1. 0属于这个集合;

2. 如果x属于这个集合,那么2x+1,3x+1也属于这个集合;

3. 集合只包含按增序排列的前100000个元素。

集合按增序排列,根据输入的元素序号,输出对应的元素值。 输入

每行一个整数n(n<100000),表示元素的序号(从0开始记数),如果是-1,则输入结束。 输出

每行输出对应元素的值。

Sample Input 0 1 2 3 4 5 -1

24

Source Code

Problem: 1052 User: 2009551233 Memory: 12312K Time: 265MS Language: C++ Result: Accepted

Source Code

#include #include using namespace std; int po[2000100]; int node[2000010]; int main() {

int i(-1),j(0); po[0]=0;

while(j<=2000000) {

i++;

po[++j]=po[i]*3+1; po[++j]=po[i]*2+1; }

sort(po,po+2000000); node[0]=0;

for( i=1,j=1;i<2000000;i++) {

if(po[i]!=po[i-1]) node[j++]=po[i]; }

while(cin>>i&&i!=-1) {

cout<

return 0; }

13Z字型

Acceteped : 133 Submit : 409

Time Limit : 1000 MS Memory Limit : 65536 KB

25


Source Code 湘潭大学 c语言程序设计答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学体验英语综合教程4课文翻译 unit2 PB文化存在差异吗

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: