现在的位置: 首页 > 综合 > 正文

12道超级基础题综合

2013年09月28日 ⁄ 综合 ⁄ 共 5144字 ⁄ 字号 评论关闭

由于全是基础题,不再另外附上题目大意=。=

所有题目都是UVaOJ上的。

 

Uva 10055

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <cmath>
using namespace std;
typedef long long int64;
int main(){
	int64 a,b;
	while (cin>>a>>b){
		int64 c;
		c=a-b;
		c=(c>0)?c:-c;
		cout<<c<<endl;
	}
    return 0;
}

Uva 10071

/****
	*@Polo-shen
	*
	*/
#include <iostream>
using namespace std;
typedef long long int64;
int main(){
    int64 a,b;
    while (cin>>a>>b){
		cout<<2*a*b<<endl;
    }
    return 0;
}

Uva 10300

/****
	*@Polo-shen
	*
	*/
#include <iostream>
using namespace std;
typedef long long int64;
int main(){
    int n;
    cin>>n;
    while (n--){
	int f;int64 s,a,e,ans=0;
	cin>>f;
	while (f--){
		cin>>s>>a>>e;
		ans+=s*e;
	}
	cout<<ans<<endl;
    }
    return 0;
}

Uva 458

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
using namespace std;
typedef long long int64;
int main(){
	string str1;
	while(getline(cin,str1) && !str1.empty()){
		string str2(str1);
		string::size_type i;
		for(i=0;i!=str1.size();i++){
			str2[i]-=7;
		}
		cout<<str2<<endl;
	}
	return 0;
}

Uva 494

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
using namespace std;
int main(){
    string str;;
    int count=0;
    string::iterator iter;
    bool flag=0;
    while(getline(cin,str)){
        count=0;
        for(iter=str.begin(); iter!=str.end(); ++iter){
            if(!flag&&isalpha(*iter)){
                ++count;
                flag=1;
            }
            else if(!isalpha(*iter))
                flag=0;
        }
        cout<<count<<endl;
    }
    return 0;
}

 

Uva 414

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main(){
    int k,m,n,i,j,sum,min;
    char str[100000];
    while(scanf("%d%*c",&n) && n){
        sum=0;
        for(i=0; i<n; i++){
            gets(str);
            m=strlen(str);
            k=0;
            for(j=0; j<m; j++){
                if(str[j]==' ')
                    k++;
            }
            if(i==0)
                min=k;
            else{
                if(min>k)
                    min=k;
            }
            sum+=k;
        }
        printf("%d\n",sum-min*n);
    }
    return 0;
}

 

Uva 490

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
    string a[110],s;int len[110],i=0,maxl=0;
    while (getline(cin,s)){
		a[i]=s;len[i]=(a[i]).size();
		maxl=(len[i]>maxl)?len[i]:maxl;
		i++;
    }
    for (int k=0;k<maxl;k++){
		for (int j=i-1;j>=0;j--)
			cout<<((k<len[j])?(a[j][k]):' ');
		cout<<endl;
    }
    return 0;
}

 

Uva 445

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
    int i,temp,sum=0,j;
    char c;
    while((c=getchar())!=EOF){
		if(c=='b')
			c=' ';
        if(c>='0'&&c<='9'){
            sum+=c-'0';
        }
        else{
            if(c!='\n'&&c!='!'){
                for(i=0;i<sum;i++){
                    printf("%c",c);
                }
            }
            else printf("\n");
            sum=0;
        }
    }
    return 0;
}

 

Uva 488

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>

using namespace std;
typedef long long int64;

#define DBG 0
#define ShowLine DBG && cout<<__LINE__<<">>| "
#define dout DBG && cout<<__LINE__<<">>| "
#define write(x) #x" = "<<(x)<<", "
void generater(int A,int f){
	while (f--){
		for (int i=1;i<2*A;i++){
			int itmp=i;
			if (itmp>A)itmp=2*A-itmp;
			for (int j=1;j<=itmp;j++){
				printf("%d",itmp);//cout<<itmp;
			}
			printf("\n");//cout<<endl;
		}
		if(f)printf("\n");//cout<<endl;
	}
}
int main(){
    int n,i=0;cin>>n;
    while (n--){
		if (i!=0)printf("\n");i++;
		int a,f;cin>>a>>f;
		generater(a,f);
    }
    return 0;
}

 

Uva 489

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long int64;

#define DBG 0
#define ShowLine DBG && cout<<__LINE__<<">>| "
#define dout DBG && cout<<__LINE__<<">>| "
#define write(x) #x" = "<<(x)<<", "
#define pau " "
int hash(char ch){
	if ((ch>='a') && (ch<='z'))return (int)(ch-'a');
	else if ((ch>='A') && (ch<='A'))return (int)(ch-'A');
	else return 27;
}

void game(string input,string guess){
	bool hash_in[27],hash_gu[27];
	memset(hash_in,0,sizeof(hash_in));
	memset(hash_gu,0,sizeof(hash_gu));
	int len_in=input.size(),len_gu=guess.size();
	for (int i=0;i<len_in;i++){
		hash_in[hash(input.at(i))]=1;
	}
	int hs1=0,hs0=0;
	for (int i=0;i<27;i++){
		if(hash_in[i])hs1++;
		else hs0++;
	}
	dout<<"Word 1 length indeed "<<hs1<<endl;
	int cnt=0,cn1=0,cn0=0;bool flag=0;
	for (int i=0;i<len_gu;i++){
		int pos=hash(guess.at(i));
		dout<<pos<<" and "<<guess.at(i)<<endl;
		if (!hash_gu[hash(guess.at(i))]){
			if (hash_in[pos]){
				cn1++;
				dout<<"cn1 ++"<<endl;
			}
			else {
				cnt++;
				dout<<"cnt ++"<<endl;
			}
			hash_gu[hash(guess.at(i))]=1;
		}
		else{
			cnt++;
			dout<<"cnt ++"<<endl;
		}
		if (cn1==hs1){
			flag=1;
			break;
		}
		if (cnt==7){
			break;
		}
	}
	if (flag)cout<<"You win."<<endl;
	else if (hs1>cn1 && cnt<7)cout<<"You chickened out."<<endl;
	else if (cnt>=7)cout<<"You lose."<<endl;
}

int main(){
	int r;
	while(cin>>r && r!=-1){
		string i,g;
		cin>>i>>g;
		cout<<"Round "<<r<<endl;
		game(i,g);
	}
    return 0;
}

 

Uva 694

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>

using namespace std;
typedef long long int64;

#define DBG 0
#define ShowLine DBG && cout<<__LINE__<<">>| "
#define dout DBG && cout<<__LINE__<<">>| "
#define write(x) #x" = "<<(x)<<", "

int main(){
    int64 a,b,n;
    int number=0;
	int s=0;
    while((cin>>a>>b) && (a!=-1 || b!=-1)){
        number++;
		s=1;
		n=a;
        while(n>1){
            if(n%2)
                n=n*3+1;
            else
                n/=2;
            if(n>b)break;
            s++;
        }
        printf("Case %d: A = %lld, limit = %lld, number of terms = %d\n",number,a,b,s);
    }
    return 0;
}

 

Uva 457

/****
	*@Polo-shen
	*
	*/
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>

using namespace std;
typedef long long int64;

#define DBG 0
#define ShowLine DBG && cout<<__LINE__<<">>| "
#define dout DBG && cout<<__LINE__<<">>| "
#define write(x) #x" = "<<(x)<<", "

int main(){
    int n,k;
    scanf("%d",&n);
    for (k=1;k<=n;k++){
        int DNA[10];
        int i,j;
        for (i=0;i<=9;i++)
            scanf("%d",&DNA[i]);
        int now[50]={0},old[50];
        now[20]=1;
        for (i=1;i<=50;i++){
            for (j=1;j<=40;j++){
                if (now[j]==0) printf(" "); else
                if (now[j]==1) printf("."); else
                if (now[j]==2) printf("x"); else
                printf("W");
            }
            printf("\n");
            memcpy(old,now,sizeof(old));
            for (j=1;j<=40;j++)
                now[j]=DNA[old[j-1]+old[j]+old[j+1]];
        }
        if (k!=n) printf("\n");
    }
    return 0;
}

 

 

 

 

 

抱歉!评论已关闭.