※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

「AOJ101~110」の編集履歴(バックアップ)一覧に戻る

AOJ101~110 - (2011/08/15 (月) 18:30:17) の編集履歴(バックアップ)


101 Aizu PR

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0101&lang=jp
基本機能を理解しているかを問われるだけ。

#include<iostream>
#include<string>
int main(){
std::string s;
int n;
char c;
unsigned int pos;

std::cin>>n;
std::getline(std::cin,s);
for(int i=0;i<n;i++){
	std::getline(std::cin,s);
	pos=0;
	while(1){
		pos=s.find("Hoshino",pos);
		if(pos==std::string::npos) break;
		s.replace(pos,7,"Hoshina");
	}
	std::cout<<s<<"\n";
}
}








0102 Matrix-like Computation

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0102&lang=jp
うーん?もうちょっと短くならないかなこれ?

#include<stdio.h>
void setMap(int n){
int tate[11]={0},yoko=0,p,sum=0;
for(int i=0;i<n*n;i++){
	scanf("%d",&p);
	yoko+=p;
	tate[i%n]+=p;
	sum+=p;
	printf("%5d",p);
	if(i%n==n-1){
		printf("%5d\n",yoko);
		yoko=0;
	}
}
for(int i=0;i<n;i++){
	printf("%5d",tate[i]);
}
printf("%5d\n",sum);
}
int main(){
int n;
while(1){
	scanf("%d",&n);
	if(n==0)break;
	setMap(n);
}
}





0103 Baseball Simulation

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0103
書いてある通りに実装するだけ。

#include<iostream>
#include<string>
void sym(){
std::string eve;
int out=0,score=0,b[3]={0};
while(out<3){
	std::cin>>eve;
	if(eve=="HIT"){
		score+=b[2];
		b[2]=b[1];
		b[1]=b[0];
		b[0]=1;
	}else if(eve=="HOMERUN"){
		score+=b[2]+b[1]+b[0]+1;
		b[2]=b[1]=b[0]=0;
	}else if(eve=="OUT"){
		out++;
	}
}
std::cout<<score<<"\n";
}
int main(){
int n,tern=0;
std::cin>>n;
while(tern<n){
	sym();
	tern++;
}
}





0104 Magical Tiles

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0104&lang=jp
書いてあるとおりに実装するだけ、外に出ないのでエラー処理がいらないのが楽。

#include<stdio.h>
void setMap(int h){
char map[101][101],t;
for(int i=0;i<h;i++){
	scanf("%s",map[i]);
}
int x=0,y=0;
while(map[y][x]!='.' && map[y][x]!=0){
	t=map[y][x];
	map[y][x]=0;
	if(t=='>'){
		x++;
	}else if(t=='v'){
		y++;
	}else if(t=='<'){
		x--;
	}else if(t=='^'){
		y--;
	}
}
if(map[y][x]==0){
	printf("LOOP\n");
}else{
	printf("%d %d\n",x,y);
}
}
int main(){
int w,h;
while(1){
	scanf("%d %d",&h,&w);
	if(w==0 && h==0) break;
	setMap(h);
}
}