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

AOJ101~110 - (2011/08/15 (月) 18:07:39) の1つ前との変更点

追加された行は青色になります

削除された行は赤色になります。

 *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[11]={0},p,sum=0;
+	int tate[11]={0},yoko=0,p,sum=0;
 	for(int i=0;i<n*n;i++){
 		scanf("%d",&p);
-		tate[i/n]+=p;
-		yoko[i%n]+=p;
+		yoko+=p;
+		tate[i%n]+=p;
 		sum+=p;
 		printf("%5d",p);
 		if(i%n==n-1){
-			printf("%5d\n",tate[i/n]);
+			printf("%5d\n",yoko);
+			yoko=0;
 		}
 	}
 	for(int i=0;i<n;i++){
-		printf("%5d",yoko[i]);
+		printf("%5d",tate[i]);
 	}
 	printf("%5d\n",sum);
  }
  int main(){
 	int n;
 	while(1){
 		scanf("%d",&n);
 		if(n==0)break;
 		setMap(n);
 	}
  }