Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstring>
- using namespace std;
- ifstream f("admitere_2018.in");
- int dX[8] = {-1,-1,-1,0,1,1,1,0}, dY[8] = {-1,0,1,1,1,0,-1,-1};
- char s[10001], sep[] = ".?!";
- int l, v[10001], j, matrice[10001][10001], linie, coloana, drum, drumMax = -1;
- bool exista = false;
- void input(){
- f.get(s, 10001, EOF);
- for(int i = 0; s[i]; ++i){
- if(strchr(sep,s[i]) && s[i+1]!='\n'){
- char aux[10001];
- strcpy(aux,s+i+1);
- strcpy(s+i, aux);
- i--;
- }
- }
- }
- void fillArray(){
- for(int i = 0; i < l; ++i){
- for(int j = 0; j < l; ++j) matrice[i][j] = -1;
- }
- }
- void firstRequest(){
- for(int i = 0; i < strlen(s); ++i){
- if(s[i] != ' '){ v[j] = 1;}
- j++;
- }
- for(int i = 0; i < j; ++i){
- if(s[i+l] == ' '){
- for(int p = i; p < i+l; ++p){
- cout << s[p];
- if(s[p] == ' ') matrice[linie][coloana] = 0;
- else matrice[linie][coloana] = 1;
- coloana++;
- }
- i+=l;
- }
- else{
- int k = 0;
- while(v[i+l-k] != 0) k++;
- for(int p = i; p < i+l-k; ++p){
- cout << s[p];
- if(s[p] == ' ') matrice[linie][coloana] = 0;
- else matrice[linie][coloana] = 1;
- coloana++;
- }
- i+=l-k;
- }
- cout << "\n";
- linie++;
- coloana = 0;
- }
- }
- void secondRequest(int i, int j){
- int x, y;
- for(int d = 0; d <= 7; ++d){
- x = i + dX[d];
- y = j + dY[d];
- if(matrice[x][y] == 0){
- exista = true;
- drum++;
- matrice[x][y] = 2;
- secondRequest(x,y);
- }
- if(drum > drumMax) drumMax = drum;
- drum = 0;
- }
- }
- int main()
- {
- input();
- cout << s << "\n";
- cout << "Introduceti lungimea: ";
- cin >> l;
- fillArray();
- firstRequest();
- int lines = strlen(s)/l+1;
- for(int i = 0; i < lines; ++i){
- for(int j = 0; j < l; ++j){
- if(matrice[i][j] == 0){
- matrice[i][j] = 2;
- secondRequest(i, j);
- }
- }
- }
- if(exista == true) cout << "Exista!";
- else cout << "Nu exista!";
- cout << "\n" << "Drumul maxim este: " << drumMax;
- /*for(int i = 0; i < lines; ++i){
- for(int j = 0; j < l; ++j)
- cout << matrice[i][j] << " ";
- cout << "\n";
- }*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement