Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

Блог пользователя farukkastamonuda

Автор farukkastamonuda, история, 20 месяцев назад, По-английски

Hello Dear Codeforces Community,

I (farukkastamonuda) developed the testcase generator website Testcase Generator for competitive programmers with my brother AhmetKaan.

Generating test cases is a significant part of creating problems in competitive programming. However, there is not any prepared website that is designed for this task and problem setters should use some programming languages to prepare test cases. Moreover, these written scripts are used to create test cases for a specific single problem.

After analyzing Codeforces input formats, we thought that many of these formats can be generalizable and producible.

Some of doable things on this website are:

  • Generating basic types: integer, floating number, string, char, and pair.
  • Generating 1-D, and 2-D arrays of basic types.
  • Creating a tree/graph with many features such as acyclic, connected, multiple edges, and self loops.
  • Defining variables such as (n, m, k) and using them later.
  • Constraining sum of variables among all testcases.
  • Formatting input files.

Lots of weeks were spent to finish the frontend and backend of this project and I'm proud of providing this service to the amazing community of Competitive Programmers.

Special thanks to nicecoder37, osmanbey372742, kaIimm, and ayhan37 for testing the website and various generations, and providing improvement feedbacks. Your precious feedbacks are also welcome to achieve further improvements.

You can support me if you want or love the website ☕

Note: Currently, website is designed for computers not for mobile phones since testcase generations are done via computers generally.

  • Проголосовать: нравится
  • +183
  • Проголосовать: не нравится

»
20 месяцев назад, # |
  Проголосовать: нравится +39 Проголосовать: не нравится

As a developer, Best website I have ever seen after (codeforces,atcoder,oj.uz, etc.).

»
20 месяцев назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

Hello everybody!

This is a very cool idea, and thank you very much for implementing it. "A journey of a thousand miles begins with one step"!

Best, Jelal

»
20 месяцев назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

As a tester, I love the idea and the ease of the input generating and downloading. Thanks for your idea and coding skills of website development. Good job to everybody in the crew.

»
20 месяцев назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

Cool!

»
20 месяцев назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

As a tester,this is one of the most useful website about cp I have ever seen in a long time xD

»
20 месяцев назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

Dude, you're really cool, and I can only support you with words of good luck

»
20 месяцев назад, # |
Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

I really liked your work and looking forward to seeing others in the future.

Thank you.

»
20 месяцев назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

this is great !

»
20 месяцев назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Formatting is so important, this is why my name is Formatci

»
20 месяцев назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

OMG! Great. Thanks for this:)

»
20 месяцев назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

this is really awesome

»
20 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Awesome!

»
20 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

First of all, great website! Am I doing something wrong, or is the Node Count dropdown not working?

  • »
    »
    20 месяцев назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    This is a tutorial how to add node count to your graph. It will help you. To use graph node count dropdown you need to define symbolic variable like a,b,c,n,m and then you need to write it to the file and you will be able to select a node count for your graph.

    This is tutorial with images.

    Link: https://ibb.co/S0vM9dM

    • »
      »
      »
      20 месяцев назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Hi, the link https://ibb.co/S0vM9dM is not working can u pls share a new one i am also having the same node count issue, Thank you for such a great website.

      • »
        »
        »
        »
        20 месяцев назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится

        Currently I am working on a GitHub page for imaged tutorials. When I finish I will put the link in this message.

      • »
        »
        »
        »
        20 месяцев назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится

        Hello dear aditya_01, we opened public GitHub repository and we will add image tutorials for many creations. For your request, link: NodeCount selection in graph creation.

        By the way, please write to the blog if you could not create anything. We will add tutorial to this public repo.

        Also, thanks for your like comment regarding to our website.

»
20 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Awesome idea, It will be used in olympiad camps.

»
20 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Awesome idea and helpful website

»
20 месяцев назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

Nice website! Here are some personal suggestions.

  • Keep the form title and input items in the same row, which makes the page more tidy.
  • Replace "Variable Definition Information" subform with popup.
  • Create a tutorial page or add link to https://ibb.co/S0vM9dM.
  • Finally, if the website is opensource, glad to contribute.
  • »
    »
    20 месяцев назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Thanks for your ideas. First there is a tutorial in the website if you click the blue i buttons in the left of every main title you will see a tutorial. And the website currently isn't open source. And I don't understand the first 2 sentences. Can you explain the first 2 sentences in more detail.

    Thanks for your contribution and your beautiful feedback.

    • »
      »
      »
      20 месяцев назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Sure, the first 2 sentences are related to UI design. I prefer the following layout , and when click the "add" button, a popup is shown, as well as the blue i buttons.

      Hope my poor English works this time. :)


      i [test case]                   [input] [input]
      i [Define Integer Variables]    [+add]
                                      [...] [...] [...]
                                      [...] [...] [...]
      i [Testcase Format]             [xxxxxxx] [xxxxxxxxxx]
      
  • »
    »
    20 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    What should be the tutorial according to you? Single page or any other method? Does you think current i buttons for gathering info is not enough? Thanks!

    • »
      »
      »
      20 месяцев назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      After playing for a while, I still don't know how to generate testcases for 1847A - The Man who became a God . Did "Testcase Format" only support one kind of things?


      t
      n k
      a1 a2 ... an
      n k
      a1 a2 ... an
      
      • »
        »
        »
        »
        20 месяцев назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        This testcase can easily be generated. Firstly, you should define variable n and k. After that, you should generate 1-d array with n element by typing n to the length field. Then it will generate this format. Why you should not generate it? If you still have problems after this explanation, please write it again and I will proud of helping you.

        • »
          »
          »
          »
          »
          20 месяцев назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Also, it will be another good blog post if someone analyze the percentage of questions in codeforces that can be generetable via our website.

»
20 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Thanks

»
20 месяцев назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

We all needed a website like that. Thanks farukkastamonuda and AhmetKaan!

»
20 месяцев назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Thanks

»
15 часов назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Are you planning to make the website open source? If I face an issue it feels cumbersome and inconvenient (to codeforces, since the blog rises to top on recent actions) to comment on this blog.

For now, can you please explain what does this mean: Array 2 - For using registered symbols such as (n,m,...), they need to be written to the file first (Registering is not enough)

Other doubt, I want to print 3 integers for each 't', where 2nd and 3rd integers should be smaller/than equal to first. How can this be achieved?

  • »
    »
    8 часов назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Hi Dear avengers2405, thanks for your comment.

    Answer 1 — For example you defined integer variable (let say with 'n' symbol), also you want to create some array with length 'n'. You should first choose your defined variable ('n') and then press to create (which means writing to the file). After you create that 'n' variable, you can use it in the array creation. You can write n directly to the length section of the array.

    Answer 2 — Our this function was not working, after your comment, I was dealing with that functionality and it is ready right now. You can make the second or third number <= from the first number. But you cannot make it < for now. To achieve the functionality define integer variable, for example for the first one choose the lower bound 1 and upper bound 100. Let 'a' be the symbol for the first variable. While defining the second variable 'b' you can write a to the upper bound section. Then it means it can be at most a. For the third variable 'c' you can write again a to the upper bound and it will be <= than 'a' variable. You can also do such things for example a>=b>=c>=d... you can also achieve such functionalities after today's update with your suggestion.

    Answer 3 — Currently I don't think to do this website open source. But let's see in the future.

    Thanks for your suggestion and added improvement to website.

    If you have further comment, discussions you can write to here again.

    Best regards, Faruk.

    • »
      »
      »
      6 часов назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Thanks for your quick reply! Really appreciate the effort you have put in the website.

      Answer 1: Got it.

      Answer 2: Understood this too. But how do we choose to display all these 3 integers (n, a, b, where 1 <= a,b <= b) on each line of test case?

      Once I have set a value for 'n', for example, after clicking 'define variable', can't I see or change it?

      I can't seem to get the option of setting sum of 'n' over all test cases. The dropdown option next to 'Sum of' is disabled no matter what I do. Am I missing something too obvious?

      • »
        »
        »
        »
        5 часов назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Hi Dear avengers2405,

        There are two separate concepts,

        1 — Define Integer Variables part: In this part, you are registering/defining some variables to use it later. For example you can set 'n' with some specific range etc. After you define it, it does not mean that you put this n to your file. Your input file is still empty. Once you define your variable for example it is n and it is in between 1-100. In each test case the n value will be constant. We are selecting it on the server by randomizing. Let say in the first test case if it is selected as 37, then in the first test case if you put n to somewhere it will be 37.

        2 — Defining/Registering does not mean that you put into file. To put your defined variable 'n' 'a' or 'b' to the file you need to use Create button. You need to select Define variable and your symbol and by pressing create it will be placed to your input file. You can see your input file format from the sidebar. The shown values are not your input file but it shows how your input file structure is.

        3 — For example if you want to put n a b, first you need to define n, a, b. After that, you need to create n a b respectively by using the create button under the "Testcase Format" section.

        4 — The reason for dropdown disabling for "Sum of" constraint is: If you don't create the defined variable 'n', you cannot put some restrictions to it. You need to put that n into the file at least once. Registering/Defining is not enough to put the restrictions to the defined variable 'n'.

        I hope it helps.

        • »
          »
          »
          »
          »
          4 часа назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Alright, I will look into it properly soon. Thanks for the clarification!