18 1
1 2
2 3
3 3
3 2
2 4
4 5
5 6
6 5
5 7
7 8
8 9
9 10
10 11
11 12
12 2
2 1
1 2
2 1
Odpowiedź brzmi NIE ??
#include <stdio.h>
int main()
{
int p, t, k;
long long x, y;
bool test = true;
scanf("%d %d", &t, &p);
long long int tab[t][2];
for(int i =0; i<t; i++)
{
scanf("%lld %lld", &x, &y);
tab[i][0]=x;
tab[i][1]=y;
if(test == true)
{
if(i == 0)
{
if(x != p)
{
test = false;
}
}
if(i != 0)
{
if(x != k)
{
test = false;
}
}
k=y;
}
}
if( y != p)
test = false;
if(test==true)
{
for(int i =0; i<t; i++)
{
for(int j=0; j<t; j++)
{
if(i!=j)
{
if((tab[i][0] == tab[j][0]) && (tab[i][1] == tab[j][1]))
{
test=false;
break;
}
}
}
if(test==false)
break;
}
}
if(test == true)
printf("TAK");
else
printf("NIE");
return 0;
}
Mam coś takiego. Nie wiem co może być jeszcze źle
Co do testu - odpowiedzią jest "TAK".
Co do programu - masz błędny algorytm.
Zastanów się nad czymś takim: Jeśli, którąś ulicą dojdzie się do danego skrzyżowania, to jakąś inną trzeba z niego wyjść. Czyż nie?
A może próbowałeś kiedyś rysować pewne figury "jednym pociągnięciem ołówka"? Które figury da się tak narysować?
A tak w ogóle, to przeczytaj cały ten wątek, bo znajdziesz tu dużą podpowiedź.
Patrz co do tego testu.
"Denerwuje go to, że czasami musi przejeżdżać dwa razy jakąś ulicę lub jej fragment."
czyli odpowiedź brzmi Nie dal tego testu.
A co do twojego pytania. Tak da się tylko koło tak narysować.
A co do tego programu nie mam zastrzeżeń tylko czegoś mu jeszcze brakuje tylko nie wiem czego.
#include <stdio.h>
int main()
{
int p, t, k;
long long x, y;
bool test = true;
scanf("%d %d", &t, &p);
for(int i =0; i<t; i++)
{
scanf("%lld %lld", &x, &y);
if(test == true)
{
if(i == 0)
{
if(x != p)
{
test = false;
}
}
if(i != 0)
{
if(x != k)
{
test = false;
}
}
k=y;
}
}
if( y != p)
test = false;
if(test == true)
printf("TAK");
else
printf("NIE");
return 0;
}
Coś mi zaświtało
patrz:
Zdjęcia2
zielony wejście
czerwony drugi test
czarny pierwszy test
purpurowy numery ulic
Czyli oba test są poprawne gdyż. Poczta leży przy ul o numerze 4. Więc zaczynając w zgodnie z ruchem wskazówek zegara czy przeciwnie, otrzymam tą sama trasę. Czy dobrze to rozumiem?
Oczywiście, że oba testy są poprawne, ale czytając Twój wpis naszła mnie wątpliwość, czy dobrze rozumiesz, jak w danych wejściowych określa się położenie poczty.
Liczba określa numer ulicy przy której znajduje się poczta, a nie skrzyżowania.
A co do tych figur, to poszukaj sobie w necie czegoś o figurach unikursalnych.
I'm having a similar problem and submitted following solution. When I ran it on http://ideone.com/22 it worked fine but still SPOJ saying it as wrong answer
Please correct me if anything wrong in my solution.
compiled with C++ 5.1
int main() {
int i;
std::cout<<"Enter your input number (42 is for exit)"<<endl;
do
{
std::cin>>i;
if( std::cin.fail() )
{
std::cout<<"Wrong input, numeric numbers only accepts"<<endl;
}
else
{
std::cout<<i<<endl;
}
}while(42 != i);
std::cout<<"Successfully exiting"<<endl;
return 0;
}
include
using namespace std;
int main()
{
int a;
while(1)
{
cin >>a;
if(a==42)
break;
else
cout <}
}