アルゴリズム研究2週目[実施1]
1670 ワード
[実施]白駿21918
[電球の問題]
[コード]
import java.util.Scanner;
class Command{
int n1,n2;
void cmd1(int n1,int n2, int arr[]){
arr[n1-1]=n2;
}
void cmd2(int n1,int n2, int arr[]){
for(int i=n1-1;i<n2;i++){
if(arr[i]==0) arr[i]=1;
else arr[i]=0;
}
}
void cmd3(int n1,int n2, int arr[]){
for(int i=n1-1;i<n2;i++){
arr[i]=0;
}
}
void cmd4(int n1,int n2, int arr[]){
for(int i=n1-1;i<n2;i++){
arr[i]=1;
}
}
}
public class Main_21918 {
public static void main(String[] argv){
Scanner sc= new Scanner(System.in);
Command cmd = new Command();
int N = sc.nextInt();
int M = sc.nextInt();
int arr[] = new int[N];
for(int i=0;i<N;i++){
arr[i]=sc.nextInt();
}
for(int i=0;i<M;i++){
int a =sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
if(a==1) cmd.cmd1(b,c,arr);
else if(a==2) cmd.cmd2(b,c,arr);
else if(a==3) cmd.cmd3(b,c,arr);
else cmd.cmd4(b,c,arr);
}
for(int i=0;i<N;i++){
System.out.print(arr[i]+" ");
}
}
}
最初の問題がうまく読めなかったので、勝手にやってしまいましたが、もちろん運行中にエラーが発生しました.
しっかり問題を読みましょう…~!
各命令を命令クラスで関数として実装する.
次にコマンドクラスを呼び出し、各関数の番号に基づいて実装すると終了します.
Reference
この問題について(アルゴリズム研究2週目[実施1]), 我々は、より多くの情報をここで見つけました
https://velog.io/@jaehyukjung/알고리즘-스터디-2주차-구현
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import java.util.Scanner;
class Command{
int n1,n2;
void cmd1(int n1,int n2, int arr[]){
arr[n1-1]=n2;
}
void cmd2(int n1,int n2, int arr[]){
for(int i=n1-1;i<n2;i++){
if(arr[i]==0) arr[i]=1;
else arr[i]=0;
}
}
void cmd3(int n1,int n2, int arr[]){
for(int i=n1-1;i<n2;i++){
arr[i]=0;
}
}
void cmd4(int n1,int n2, int arr[]){
for(int i=n1-1;i<n2;i++){
arr[i]=1;
}
}
}
public class Main_21918 {
public static void main(String[] argv){
Scanner sc= new Scanner(System.in);
Command cmd = new Command();
int N = sc.nextInt();
int M = sc.nextInt();
int arr[] = new int[N];
for(int i=0;i<N;i++){
arr[i]=sc.nextInt();
}
for(int i=0;i<M;i++){
int a =sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
if(a==1) cmd.cmd1(b,c,arr);
else if(a==2) cmd.cmd2(b,c,arr);
else if(a==3) cmd.cmd3(b,c,arr);
else cmd.cmd4(b,c,arr);
}
for(int i=0;i<N;i++){
System.out.print(arr[i]+" ");
}
}
}
Reference
この問題について(アルゴリズム研究2週目[実施1]), 我々は、より多くの情報をここで見つけました https://velog.io/@jaehyukjung/알고리즘-스터디-2주차-구현テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol