Informatika gyűjtemény

NézetNyomtat

Algoritmus

A trükk az az, hogy ha bármelyikben van *, akkor mindkettőt kipótoljuk 200 karakterig *-al mégpedig a következő módon:
  • ha valamelyikben van *, akkor a plusz csillagokat mellé tesszük
  • ha nincs *, akkor a plusz csillagokat a szöveg után tesszük
Ha a most létrejött két szöveg egyenlő hosszú, akkor lehet megoldás, ha nem, akkor már biztosan nincs.
Ha egyenlő hosszúak, akkor karakterről-karakterig összevetjük őket, és a mindkettőre illeszkedő szót a következő módon építjuk fel:
  • ha mindkettő *, akkor oda semmit se írunk, különben
  • ha mindkettő ? akkor egy tetszőleges karaktert írunk, különben
  • ha csak az egyik ?, vagy * akkor a másik karaktert írjuk, különben
  • ha mindkettő karakter egyenlő, akkor az adott karaktert írjuk, különben
  • ha mindkettő karakter különbözik, akkor nem lehet megoldani!

Kódok

Kriván Bálint (C#): kb_keres.cs