(1.1.9)UVA 10930 A-Sequence(模拟)

本文深入解析了UVA_10930_1问题,该问题是关于序列的判断题。通过C++代码实现,详细解释了如何解决这个问题,包括输入读取、数据处理、状态转移和输出结果等关键步骤。对于熟悉C++编程和序列问题处理的读者来说,这是一篇实用的技术指南。
/*
 * UVA_10930_1.cpp
 *
 *  Created on: 2013年10月7日
 *      Author: Administrator
 */

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int K[30001];
int main(){
	int n;
	int counter = 1;
	while(scanf("%d",&n)!=EOF){

		memset(K,0,sizeof(K));
		int i,j;
		printf("Case #%d:",counter++);
		int w;
		bool ok = true;
		int last = 0;
		K[0] = 1;//因为数字最小是从1开始的,所以将K[0]设为1,让0变为不可用
		for(i = 1 ; i <= n ; ++i){
			cin >> w;
			cout<<" "<<w ;

			ok &= !K[w] && w > last;

			for(j = 10000 ; j >= w ; --j){
				if(K[j - w]){
					K[j] = 1;
				}
			}
			last = w;
		}
		cout<<endl;

		cout<<"This is "<< ((ok)?"":"not ") <<"an A-sequence.";
        cout<<endl;

	}


	return 0;
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的东哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值