quarta-feira, 26 de julho de 2017
terça-feira, 18 de julho de 2017
Jogo da Velha Parte 2
/* Classe TabuleiroMiserento*/
public class TabuleiroMiserento{
private int[][] tabuleiro= new int[3][3];
public TabuleiroMiserento(){
LimpaOTabuleiro();
}
public void LimpaOTabuleiro(){
for(int linha = 0 ; linha < 3 ; linha++)
for(int coluna = 0 ; coluna < 3 ; coluna++)
tabuleiro[linha][coluna]=0;
}
public void MostraTabuleiro(){
System.out.println();
for(int linha = 0 ; linha < 3 ; linha++){
for(int coluna= 0 ; coluna < 3 ; coluna++){
if(tabuleiro[linha][coluna]==-1){
System.out.print(" X ");
}
if(tabuleiro[linha][coluna]==1){
System.out.print(" O ");
}
if(tabuleiro[linha][coluna]==0){
System.out.print(" ");
}
if(coluna==0 || coluna==1)
System.out.print("|");
}
System.out.println();
}
}
public int getPosicao(int[] tentativa){
return tabuleiro[tentativa[0]][tentativa[1]];
}
public void setPosicao(int[] tentativa, int jogador){
if(jogador == 1)
tabuleiro[tentativa[0]][tentativa[1]] = -1;
else
tabuleiro[tentativa[0]][tentativa[1]] = 1;
MostraTabuleiro();
}
public int VerificaAsLinhas(){
for(int linha = 0 ; linha < 3 ; linha++){
if( (tabuleiro[linha][0] + tabuleiro[linha][1] + tabuleiro[linha][2]) == -3)
return -1;
if( (tabuleiro[linha][0] + tabuleiro[linha][1] + tabuleiro[linha][2]) == 3)
return 1;
}
return 0;
}
public int VerificaAsColunas(){
for(int coluna = 0 ; coluna < 3 ; coluna++){
if( (tabuleiro[0][coluna] + tabuleiro[1][coluna] + tabuleiro[2][coluna]) == -3)
return -1;
if( (tabuleiro[0][coluna] + tabuleiro[1][coluna] + tabuleiro[2][coluna]) == 3)
return 1;
}
return 0;
}
public int VerificaAsDiagonais(){
if( (tabuleiro[0][0] + tabuleiro[1][1] + tabuleiro[2][2]) == -3)
return -1;
if( (tabuleiro[0][0] + tabuleiro[1][1] + tabuleiro[2][2]) == 3)
return 1;
if( (tabuleiro[0][2] + tabuleiro[1][1] + tabuleiro[2][0]) == -3)
return -1;
if( (tabuleiro[0][2] + tabuleiro[1][1] + tabuleiro[2][0]) == 3)
return 1;
return 0;
}
public boolean MiseraCompleto(){
for(int linha=0 ; linha<3 ; linha++)
for(int coluna = 0 ; coluna < 3 ; coluna++)
if( tabuleiro[linha][coluna]==0 )
return false;
return true;
}
}
/* Classe PowerRange*/
import java.util.Scanner;
public class PowerRange extends Serumaninho{
public Scanner entrada = new Scanner(System.in);
public PowerRange(int jogador){
super(jogador);
this.jogador = jogador;
System.out.println(" Power Range criado!");
System.out.println(" Digite 1 para cirar o Segundo power Range!");
}
/* Deu erro tenho q olhar depois Prof
public void PepaPig(int jogador2){
this.jogador = jogador;
System.out.println(" Power Range Preto criado!");
}*/
@Override
public void jogar(TabuleiroMiserento tabuleiro){
Tentativa(tabuleiro);
tabuleiro.setPosicao(tentativa, jogador);
}
@Override
public void Tentativa(TabuleiroMiserento tabuleiro){
do{
do{
System.out.print("Diz a Linha: ");
tentativa[0] = entrada.nextInt();
if( tentativa[0] > 3 ||tentativa[0] < 1)
System.out.println("Essa Linha é inválida Mísera. É 1, 2 ou 3");
}while( tentativa[0] > 3 ||tentativa[0] < 1);
do{
System.out.print("Diz a Coluna: ");
tentativa[1] = entrada.nextInt();
if(tentativa[1] > 3 ||tentativa[1] < 1)
System.out.println("Essa Coluna é inválida Mísera. É 1, 2 ou 3");
}while(tentativa[1] > 3 ||tentativa[1] < 1);
tentativa[0]--;
tentativa[1]--;
if(!checaTentativa(tentativa, tabuleiro))
System.out.println("Esse local já foi Escolhido. Tenta outro meu fi.");
}while( !checaTentativa(tentativa, tabuleiro) );
}
}
public class TabuleiroMiserento{
private int[][] tabuleiro= new int[3][3];
public TabuleiroMiserento(){
LimpaOTabuleiro();
}
public void LimpaOTabuleiro(){
for(int linha = 0 ; linha < 3 ; linha++)
for(int coluna = 0 ; coluna < 3 ; coluna++)
tabuleiro[linha][coluna]=0;
}
public void MostraTabuleiro(){
System.out.println();
for(int linha = 0 ; linha < 3 ; linha++){
for(int coluna= 0 ; coluna < 3 ; coluna++){
if(tabuleiro[linha][coluna]==-1){
System.out.print(" X ");
}
if(tabuleiro[linha][coluna]==1){
System.out.print(" O ");
}
if(tabuleiro[linha][coluna]==0){
System.out.print(" ");
}
if(coluna==0 || coluna==1)
System.out.print("|");
}
System.out.println();
}
}
public int getPosicao(int[] tentativa){
return tabuleiro[tentativa[0]][tentativa[1]];
}
public void setPosicao(int[] tentativa, int jogador){
if(jogador == 1)
tabuleiro[tentativa[0]][tentativa[1]] = -1;
else
tabuleiro[tentativa[0]][tentativa[1]] = 1;
MostraTabuleiro();
}
public int VerificaAsLinhas(){
for(int linha = 0 ; linha < 3 ; linha++){
if( (tabuleiro[linha][0] + tabuleiro[linha][1] + tabuleiro[linha][2]) == -3)
return -1;
if( (tabuleiro[linha][0] + tabuleiro[linha][1] + tabuleiro[linha][2]) == 3)
return 1;
}
return 0;
}
public int VerificaAsColunas(){
for(int coluna = 0 ; coluna < 3 ; coluna++){
if( (tabuleiro[0][coluna] + tabuleiro[1][coluna] + tabuleiro[2][coluna]) == -3)
return -1;
if( (tabuleiro[0][coluna] + tabuleiro[1][coluna] + tabuleiro[2][coluna]) == 3)
return 1;
}
return 0;
}
public int VerificaAsDiagonais(){
if( (tabuleiro[0][0] + tabuleiro[1][1] + tabuleiro[2][2]) == -3)
return -1;
if( (tabuleiro[0][0] + tabuleiro[1][1] + tabuleiro[2][2]) == 3)
return 1;
if( (tabuleiro[0][2] + tabuleiro[1][1] + tabuleiro[2][0]) == -3)
return -1;
if( (tabuleiro[0][2] + tabuleiro[1][1] + tabuleiro[2][0]) == 3)
return 1;
return 0;
}
public boolean MiseraCompleto(){
for(int linha=0 ; linha<3 ; linha++)
for(int coluna = 0 ; coluna < 3 ; coluna++)
if( tabuleiro[linha][coluna]==0 )
return false;
return true;
}
}
/* Classe PowerRange*/
import java.util.Scanner;
public class PowerRange extends Serumaninho{
public Scanner entrada = new Scanner(System.in);
public PowerRange(int jogador){
super(jogador);
this.jogador = jogador;
System.out.println(" Power Range criado!");
System.out.println(" Digite 1 para cirar o Segundo power Range!");
}
/* Deu erro tenho q olhar depois Prof
public void PepaPig(int jogador2){
this.jogador = jogador;
System.out.println(" Power Range Preto criado!");
}*/
@Override
public void jogar(TabuleiroMiserento tabuleiro){
Tentativa(tabuleiro);
tabuleiro.setPosicao(tentativa, jogador);
}
@Override
public void Tentativa(TabuleiroMiserento tabuleiro){
do{
do{
System.out.print("Diz a Linha: ");
tentativa[0] = entrada.nextInt();
if( tentativa[0] > 3 ||tentativa[0] < 1)
System.out.println("Essa Linha é inválida Mísera. É 1, 2 ou 3");
}while( tentativa[0] > 3 ||tentativa[0] < 1);
do{
System.out.print("Diz a Coluna: ");
tentativa[1] = entrada.nextInt();
if(tentativa[1] > 3 ||tentativa[1] < 1)
System.out.println("Essa Coluna é inválida Mísera. É 1, 2 ou 3");
}while(tentativa[1] > 3 ||tentativa[1] < 1);
tentativa[0]--;
tentativa[1]--;
if(!checaTentativa(tentativa, tabuleiro))
System.out.println("Esse local já foi Escolhido. Tenta outro meu fi.");
}while( !checaTentativa(tentativa, tabuleiro) );
}
}
Jogo da Velha Parte 1
1° Parte
/* Classe JogoDaVelhiinha*/
import java.util.Scanner;
public class JogoDaVelhiinha {
public static void main(String[] args) {
JogoDaVelhiinha jogo = new JogoDaVelhiinha();
}
private TabuleiroMiserento tabuleiro;
private int rodada=1, vez=1;
private Serumaninho abestaiado1;
private Serumaninho abestaiado2;
public Scanner entrada = new Scanner(System.in);
public JogoDaVelhiinha(){
tabuleiro = new TabuleiroMiserento();
iniciandoOsSerumaninhos();
while( Jogar() );
}
public void iniciandoOsSerumaninhos(){
System.out.println("Quem vai ser o Primeiro Abestado ?");
if(escolherJogador() == 1)
this.abestaiado1 = new PowerRange(1);
System.out.println("#############################");
System.out.println("Quem vai ser o Segundo Abestado ?");
if(escolherJogador() == 1)
this.abestaiado2 = new PowerRange(2);
}
public int escolherJogador(){
int opcao=0;
do{
System.out.println("1. Power Range ");
/* System.out.println("2. Power Range Preto\n");*/
System.out.print("Opção: ");
opcao = entrada.nextInt();
if(opcao != 1 && opcao != 2)
System.out.println("Ops a Opção é inválida! Tente novamente");
}while(opcao != 1 && opcao != 2);
return opcao;
}
public boolean Jogar(){
if(ganhou() == 0 ){
System.out.println("########################");
System.out.println("\nRodada "+rodada);
System.out.println("É a vez do 'Serumanhinho' " + vez() );
if(vez()==1)
abestaiado1.jogar(tabuleiro);
else
abestaiado2.jogar(tabuleiro);
if(tabuleiro.MiseraCompleto()){
System.out.println("EMPATOU MACHU ! VÁ DENOVO.");
return false;
}
vez++;
rodada++;
return true;
} else{
if(ganhou() == -1 )
System.out.println("Há Miseravi o serumaninho 1 ganhou!");
else
System.out.println("Há Miseravi o serumaninho 2 ganhou!");
return false;
}
}
public int vez(){
if(vez%2 == 1)
return 1;
else
return 2;
}
public int ganhou(){
if(tabuleiro.VerificaAsLinhas() == 1)
return 1;
if(tabuleiro.VerificaAsColunas() == 1)
return 1;
if(tabuleiro.VerificaAsDiagonais() == 1)
return 1;
if(tabuleiro.VerificaAsLinhas() == -1)
return -1;
if(tabuleiro.VerificaAsColunas() == -1)
return -1;
if(tabuleiro.VerificaAsDiagonais() == -1)
return -1;
return 0;
}
}
/* Classe Serumaninho*/
public abstract class Serumaninho {
protected int[] tentativa = new int[2];
protected int jogador;
public Serumaninho(int jogador){
this.jogador = jogador;
}
public abstract void jogar(TabuleiroMiserento tabuleiro);
public abstract void Tentativa(TabuleiroMiserento tabuleiro);
public boolean checaTentativa(int[] tentativa, TabuleiroMiserento tabuleiro){
if(tabuleiro.getPosicao(tentativa) == 0)
return true;
else
return false;
}
}
/* Classe JogoDaVelhiinha*/
import java.util.Scanner;
public class JogoDaVelhiinha {
public static void main(String[] args) {
JogoDaVelhiinha jogo = new JogoDaVelhiinha();
}
private TabuleiroMiserento tabuleiro;
private int rodada=1, vez=1;
private Serumaninho abestaiado1;
private Serumaninho abestaiado2;
public Scanner entrada = new Scanner(System.in);
public JogoDaVelhiinha(){
tabuleiro = new TabuleiroMiserento();
iniciandoOsSerumaninhos();
while( Jogar() );
}
public void iniciandoOsSerumaninhos(){
System.out.println("Quem vai ser o Primeiro Abestado ?");
if(escolherJogador() == 1)
this.abestaiado1 = new PowerRange(1);
System.out.println("#############################");
System.out.println("Quem vai ser o Segundo Abestado ?");
if(escolherJogador() == 1)
this.abestaiado2 = new PowerRange(2);
}
public int escolherJogador(){
int opcao=0;
do{
System.out.println("1. Power Range ");
/* System.out.println("2. Power Range Preto\n");*/
System.out.print("Opção: ");
opcao = entrada.nextInt();
if(opcao != 1 && opcao != 2)
System.out.println("Ops a Opção é inválida! Tente novamente");
}while(opcao != 1 && opcao != 2);
return opcao;
}
public boolean Jogar(){
if(ganhou() == 0 ){
System.out.println("########################");
System.out.println("\nRodada "+rodada);
System.out.println("É a vez do 'Serumanhinho' " + vez() );
if(vez()==1)
abestaiado1.jogar(tabuleiro);
else
abestaiado2.jogar(tabuleiro);
if(tabuleiro.MiseraCompleto()){
System.out.println("EMPATOU MACHU ! VÁ DENOVO.");
return false;
}
vez++;
rodada++;
return true;
} else{
if(ganhou() == -1 )
System.out.println("Há Miseravi o serumaninho 1 ganhou!");
else
System.out.println("Há Miseravi o serumaninho 2 ganhou!");
return false;
}
}
public int vez(){
if(vez%2 == 1)
return 1;
else
return 2;
}
public int ganhou(){
if(tabuleiro.VerificaAsLinhas() == 1)
return 1;
if(tabuleiro.VerificaAsColunas() == 1)
return 1;
if(tabuleiro.VerificaAsDiagonais() == 1)
return 1;
if(tabuleiro.VerificaAsLinhas() == -1)
return -1;
if(tabuleiro.VerificaAsColunas() == -1)
return -1;
if(tabuleiro.VerificaAsDiagonais() == -1)
return -1;
return 0;
}
}
/* Classe Serumaninho*/
public abstract class Serumaninho {
protected int[] tentativa = new int[2];
protected int jogador;
public Serumaninho(int jogador){
this.jogador = jogador;
}
public abstract void jogar(TabuleiroMiserento tabuleiro);
public abstract void Tentativa(TabuleiroMiserento tabuleiro);
public boolean checaTentativa(int[] tentativa, TabuleiroMiserento tabuleiro){
if(tabuleiro.getPosicao(tentativa) == 0)
return true;
else
return false;
}
}
sexta-feira, 7 de julho de 2017
URI PROBLEMA: 1176 - Fibonacci em Vetor
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan =new Scanner(System.in);
int T,N;
long a, b, c;
a = 0;
b = 1;
c = 0;
long fib[] = new long [61];
for (int i = 0; i < fib.length; i++) {
fib[i]= c;
a = b;
b = c;
c = a + b;
}
T = scan.nextInt();
for (int i = 0; i < T; i++) {
N = scan.nextInt();
System.out.println("Fib("+N+") = "+ fib[N]);
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan =new Scanner(System.in);
int T,N;
long a, b, c;
a = 0;
b = 1;
c = 0;
long fib[] = new long [61];
for (int i = 0; i < fib.length; i++) {
fib[i]= c;
a = b;
b = c;
c = a + b;
}
T = scan.nextInt();
for (int i = 0; i < T; i++) {
N = scan.nextInt();
System.out.println("Fib("+N+") = "+ fib[N]);
}
}
}
URI PROBLEMA: 1154 - Idades
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan =new Scanner(System.in);
double a= 0.0,x=0.0,cont=0.0;
double z =0;
double resultado;
while (a>=0) {
cont++;
a=scan.nextDouble();
if (a>=0){
x = x + a;
z = z + 1;
}
}
resultado = x/z;
System.out.printf("%.2f\n",resultado);
scan.close();
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan =new Scanner(System.in);
double a= 0.0,x=0.0,cont=0.0;
double z =0;
double resultado;
while (a>=0) {
cont++;
a=scan.nextDouble();
if (a>=0){
x = x + a;
z = z + 1;
}
}
resultado = x/z;
System.out.printf("%.2f\n",resultado);
scan.close();
}
}
URI PROBLEMA: 1072 - Intervalo 2
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
int N , X, in = 0, out = 0;
int a =10,b=20 ;
Scanner scan =new Scanner(System.in);
N =scan.nextInt();
for (int i = 1; i <= N; i++) {
X =scan.nextInt();
if (X >= a && X <= b) {
in += 1;
}else {
out += 1;
}
}
System.out.print(in+" in\n"+out +" out\n");
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
int N , X, in = 0, out = 0;
int a =10,b=20 ;
Scanner scan =new Scanner(System.in);
N =scan.nextInt();
for (int i = 1; i <= N; i++) {
X =scan.nextInt();
if (X >= a && X <= b) {
in += 1;
}else {
out += 1;
}
}
System.out.print(in+" in\n"+out +" out\n");
}
}
PURI PROBLEMA: 1064 - Positivos e Média
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
int x=0;
float soma=0;
float vet[] = new float[6];
for (int i = 0; i < 6; i++) {
vet[i] = scan.nextFloat();
}
for (int i = 0; i <= vet.length-1; i++) {
if (vet[i] > 0) {
x++;
soma = soma + vet[i];
}
}
System.out.println(x + " valores positivos");
System.out.printf("%.1f%n", soma/x);
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
int x=0;
float soma=0;
float vet[] = new float[6];
for (int i = 0; i < 6; i++) {
vet[i] = scan.nextFloat();
}
for (int i = 0; i <= vet.length-1; i++) {
if (vet[i] > 0) {
x++;
soma = soma + vet[i];
}
}
System.out.println(x + " valores positivos");
System.out.printf("%.1f%n", soma/x);
}
}