`
暴风雪
  • 浏览: 389184 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

[usaco] Chapter1-Getting started(Section 1.2)

阅读更多

 

/*
    ID:bbezxcy1
    PROG: milk2
    LANG: C++
*/
#include<cstring>
#include<cstdio>
#include<iostream>
using namespace std;
bool vis[1200000];

int main()
{
    freopen("milk2.in","r",stdin );
    freopen("milk2.out","w",stdout );
    int n,i,j,a,b,c,d,ans1,ans2;
    while(scanf("%d",&n)!=EOF)
    {
        c=1200000,d=0;
        memset(vis,0,sizeof(vis));
        for(i=0;i<n;i++)
        {
            scanf("%d%d",&a,&b);
            b--;
            for(j=a;j<=b;j++)
            {
                vis[j]=1;
            }
            c=min(a,c);
            d=max(b,d);
        }
        a=0,b=0;
        ans1=ans2=0;
        for(i=c;i<=d;i++)
        {
            if(vis[i]==1)
            {
                a=0;
                b++;
                ans1=max(b,ans1);
            }
            else
            {
                b=0;
                a++;
                ans2=max(a,ans2);
            }
        }
        printf("%d %d\n",ans1,ans2);
    }
    return 0;
}
 

 

/*
    ID:bbezxcy1
    PROG: transform
    LANG: C++
*/
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char str[20][20],cha1[20][20],cha2[20][20],cha[20][20],dir[20][20];
bool check(int n){
	int i,j,a,b,c;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(dir[i][j]!=cha[i][j]){
				return 0;
			}
		}
	}
	return 1;
}
void change1(int n){
	int i,j,k,a,b,c;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cha[i][j]=str[n-j-1][i];
		}
	}
}

void change2(int n){
	int i,j,a,b,c;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cha[i][j]=str[n-j-1][i];
		}
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cha1[i][j]=cha[n-j-1][i];
		}
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cha[i][j]=cha1[i][j];
		}
	}
}

void change3(int n){
	int i,j,a,b,c;
	change2(n);
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cha[i][j]=cha1[n-j-1][i];
		}
	}
}

void change4(int n){
    int i,j,k,a,b,c;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cha[i][j]=str[i][n-j-1];
		}
	}
}

char cpy[20][20];
bool change5(int n){
	int i,j;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			cpy[i][j]=str[i][j];
		}
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			str[i][j]=cpy[i][n-j-1];
		}
	}
	change1(n);
	if(check(n))return 1;
	change2(n);
	if(check(n))return 1;
	change3(n);
	if(check(n))return 1;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			str[i][j]=cpy[i][j];
		}
	}
	return 0;
}

bool change6(int n){
	int i,j,k,a,b,c;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(str[i][j]!=dir[i][j]){
				return 0;
			}
		}
	}
	return 1;
}
int main(){
	int n,i,j,k,l;

    freopen("transform.in","r",stdin );
    freopen("transform.out","w",stdout );
	while(scanf("%d",&n)!=EOF){
		for(i=0;i<n;i++){
			scanf("%s",str[i]);
		}
		for(i=0;i<n;i++){
			scanf("%s",dir[i]);
		}
		change1(n);
		if(check(n)){
			printf("1\n");
			continue;
		}
		change2(n);
		if(check(n)){
			printf("2\n");
			continue;
		}
		change3(n);
		if(check(n)){
			printf("3\n");
			continue;
		}
		change4(n);
		if(check(n)){
			printf("4\n");
			continue;
		}
		if(change5(n)){
			printf("5\n");
			continue;
		}
		if(change6(n)){
			printf("6\n");
		}
		else{
			printf("7\n");
		}
	}
	return 0;
}

  /*

    ID:bbezxcy1
    PROG: namenum
    LANG: C++
*/
#include<iostream>
#include<cstring>
#include<fstream>
#include<cstdio>
#include<map>
using namespace std;
ifstream tin("dict.txt");
class nodea{
public:
    int id;
    nodea *p[30];
    nodea(){
        int i;
        id=-1;
        for(i=0;i<30;i++)p[i]=NULL;
    }
};
nodea *root;
int cnt;
bool flag;
int getnum(char *s){
    int i;
    nodea *r=root;
    int l=strlen(s);
    for(i=0;i<l;i++){
        if(r->p[s[i]-'A']==NULL){
            r->p[s[i]-'A']=new nodea();
        }
        r=r->p[s[i]-'A'];
    }
    if(r->id==-1){
        r->id=cnt;
        cnt++;
    }
    return r->id;
}
const char key[20][3] = {
    { 0, 0, 0 }, { 0, 0, 0 },
    { 'A', 'B', 'C' }, { 'D', 'E', 'F' }, { 'G', 'H', 'I' }, { 'J', 'K', 'L' },
    { 'M', 'N', 'O' }, { 'P', 'R', 'S' }, { 'T', 'U', 'V' }, { 'W', 'X', 'Y' }
};
char str[20],cha[20];
int tot,len;
void dfs(int dep){
	if(dep==len){
	    cha[dep]='\0';
		if(getnum(cha)<tot){
			printf("%s\n",cha);
			flag=1;
		}
		return;
	}
	for(int i=0;i<3;i++){
		cha[dep]=key[str[dep]-'0'][i];
		dfs(dep+1);
	}
}
int main(){
	cnt=1;
	root=new nodea();
	while(tin>>str){
	    if(str[0]=='0')break;
		getnum(str);
	}
        freopen("namenum.in","r",stdin );
        freopen("namenum.out","w",stdout );
	tot=cnt;
	flag=0;
	scanf("%s",str);
	len=strlen(str);
        dfs(0);
        if(!flag)printf("NONE\n");
	return 0;
}

  /*

    ID:bbezxcy1
    PROG: palsquare
    LANG: C++
*/
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int num[1000];
bool ispar(int a,int n){
	int b=a;
	int c=0;
	while(b){
		num[c++]=b%n;
		b/=n;
	}
	for(int i=0;i<c;i++){
		if(num[i]!=num[c-i-1]){
			return 0;
		}
	}
	return 1;
}

void print(int a,int n){
    int b=a;
	int c=0;
	while(b){
		num[c++]=b%n;
		b/=n;
	}
	for(int i=c-1;i>=0;i--){
		if(num[i]<10){
			printf("%d",num[i]);
		}
		else{
			printf("%c",num[i]-10+'A');
		}
	}
}
int main(){
	int n;
	freopen("palsquare.in","r",stdin );
    freopen("palsquare.out","w",stdout );
	while(scanf("%d",&n)!=EOF){
		for(int i=1;i<=300;i++){
			if(ispar(i*i,n)){
				print(i,n);
				printf(" ");
				print(i*i,n);
				printf("\n");
			}
		}
	}
	return 0;
}
 
 /*
    ID:bbezxcy1
    PROG: dualpal
    LANG: C++
*/
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int num[1000000];
bool ispar(int a,int n){
	int b=a;
	int c=0;
	while(b){
		num[c++]=b%n;
		b/=n;
	}
	for(int i=0;i<c;i++){
		if(num[i]!=num[c-i-1]){
			return 0;
		}
	}
	return 1;
}

int main(){
	int n,s,i,j,a,b,c;
    freopen("dualpal.in","r",stdin );
    freopen("dualpal.out","w",stdout );
	while(scanf("%d%d",&n,&s)!=EOF){
		a=s;
	    for(i=n;i>0;){
		    a++;
			b=0;
			for(j=2;j<=10;j++){
				if(ispar(a,j)){
					b++;
				}
			}
			if(b>=2){
				i--;
				printf("%d\n",a);
			}
	    }
	}
	return 0;
}
 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    usaco chapter3-6

    usaco 3到6章讲解

    USACO section1-5测试数据

    这个压缩包文件包含的是USACO比赛section1到section5的测试数据和标准程序,这对于准备参加USACO竞赛或者想要提升自己编程技能的学生来说,是非常宝贵的资源。 section1至section5代表了USACO比赛的不同难度级别,...

    USACO1-5单元AC代码

    USACO1-5单元AC的代码~ 1 Chapter1 1.1 Section 1.1 1.2 Section 1.2 1.3 Section 1.3 1.4 Section 1.4 1.5 Section 1.5 2 Chapter2 2.1 Section 2.1 2.2 Section 2.2 2.3 Section 2.3 2.4 Section 2.4 3 Chapter3 ...

    usaco历年数据---2001

    1. **USACO和ACM/ICPC编程竞赛**:了解这两种竞赛的性质、目标和参赛流程,有助于提升编程和算法技能。 2. **算法设计**:USACO和ACM比赛强调高效的算法设计,通过解题可以学习到排序、搜索、图论、动态规划等多种...

    usaco历年试题---2002

    《USACO历年试题——2002》 USACO,全称为USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在提升中学生的算法设计和编程能力。2002年的USACO试题集,是这一赛事历史上的一个重要部分,对于学习算法、准备ACM...

    USACO-Bessie-Come-Home.zip_Home Home

    【标题】USACO-Bessie-Come-Home.zip_Home Home 【正文】 这个压缩包文件中的内容是关于USACO(美国计算机奥林匹克)竞赛中一个名为"Bessie Come Home"的问题的C++解决方案。USACO是一个针对高中生的在线编程竞赛...

    USACO2001-2007历年月赛测试数据+题目+题解打包全

    资源包包括USACO 2001-2007年月赛的测试数据;usaco月赛十年题典(2000-2009),usaco月赛2002-2008题解。单独下载需资源分30分以上。为了方便编程爱好者,我这边统一下载打包。欢迎下载。

    USACO-Magic-Squares.zip_magic

    《USACO魔法方阵:C++编程解析》 USACO(美国计算机奥林匹克)是一项旨在培养高中生计算机科学技能的竞赛。在这个问题中,我们关注的是“Magic Squares”,这是一个经典的数学概念,与C++编程相结合,构成了一个...

    usaco 源程序 section2.3---section 5.5

    USACO(美国计算机奥林匹克竞赛)是一场针对高中生的在线编程比赛,旨在提升参赛者在算法、数据结构和编程方面的技能。源程序是参赛者解决问题的关键,通过编写代码来实现特定的功能或解决数学和逻辑问题。这个...

    USACO-Greedy-Gift-Givers.rar_greedy gift givers

    USACO(USA Computing Olympiad)是一项面向美国高中生的在线编程竞赛,旨在培养参赛者的算法设计和编程技能。在"Greedy Gift Givers"这个题目中,我们面对的是一个贪心算法的应用问题。贪心算法是一种解决问题的...

    usaco 2010-2011

    6. **USACO 一月竞赛** - 2011 年 1 月 7 日至 10 日 7. **USACO 二月竞赛** - 2011 年 2 月 4 日至 7 日 8. **USACO 三月竞赛** - 2011 年 3 月 11 日至 14 日 9. **USACO 美国公开赛** - 2011 年 4 月 28 日至 5 ...

    USACO2001-2007月赛全集

    这是USACO2001-2007月赛全集。 usaco是美国中学生的官方竞赛网站。是美国著名在线题库,专门为信息学竞赛选手准备。推荐直接阅读英语原文,既准确可靠又可提高英语水平。做题方式模拟正式比赛,采用标准测评机、文件...

    USACO-Chapter1.rar_it_usaco

    《USACO入门指南——第一章解析》 USACO,全称USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在培养中学生在算法和编程方面的技能。对于初学者来说,USACO提供了很好的学习路径和挑战。本文将针对USACO的第...

    USACO-Training-Website:我的USACO培训网站解决方案

    这个名为"USACO-Training-Website:我的USACO培训网站解决方案"的压缩包文件,显然包含了作者对USACO训练网站上部分或所有章节的练习题目的解答。这些解答可能以源代码的形式存在,每个文件顶部可能带有详细的USACO...

    USACO-Training-Pages:美国计算机奥林匹克训练页

    在这个“USACO-Training-Pages”压缩包中,我们可以期待找到与USACO竞赛相关的各种资料,尤其是针对Java语言的学习材料。Java作为一种广泛应用于计算机科学领域的面向对象的编程语言,因其强大的跨平台能力和简洁的...

    usaco-java-gold

    在这个“usaco-java-gold”主题中,我们将深入探讨Java在USACO黄金级别比赛中的应用,以及如何解决相关问题。 一、Java语言基础 1. 类与对象:Java是一种面向对象的语言,理解和熟练运用类和对象是解决USACO问题的...

    Notes-USACO-2021-弹簧

    本压缩包“Notes-USACO-2021-Spring”中的笔记主要聚焦于2021年春季训练营和比赛的知识点,对于想要深入学习算法和提升编程能力的爱好者来说,具有极高的学习价值。 笔记内容可能包括但不限于以下几个方面: 1. **...

    USACO题解+程序

    我的USACO题解和程序

    USACO-Chapter2.rar_beginners

    "USACO-Chapter2.rar_beginners" 是针对USACO第二章内容的压缩包,特别适合编程新手入门。 在USACO的第二章,主要涉及基础的算法和数据结构,这对于构建扎实的编程基础至关重要。让我们逐一解析这个压缩包中的四个...

    USACO Results Analytics-crx插件

    分析USACO比赛结果。 根据数据绘制一些图表。 此扩展程序从USACO竞赛结果页面收集数据,并构建漂亮的图形以更好地了解参与者,国家和分数。 使用d3.js和nvd3.js库进行绘制。 使用方法:只需进入USACO竞赛结果页面,...

Global site tag (gtag.js) - Google Analytics